Merge pull request #3 from josebarn/pr-publish

PR - adding dockerfile and public publish
This commit is contained in:
Joseph Barnett
2017-08-15 17:57:30 -03:00
committed by GitHub
4 changed files with 38 additions and 3 deletions

View File

@@ -3,10 +3,19 @@ pipeline:
image: ${IMAGE}
commands:
- go build
test:
image: ${IMAGE}
commands:
- go test
publish:
image: plugins/docker
repo: josebarn/hello-world
tags: [ 1.0.0, 1.0, latest ]
dockerfile: ./docker/Dockerfile
secrets: [ DOCKER_USERNAME, DOCKER_PASSWORD ]
debug: true
matrix:
IMAGE:
- golang:1.7
- golang:1.8
- golang:latest

1
.drone.yml.sig Normal file
View File

@@ -0,0 +1 @@
eyJhbGciOiJIUzI1NiJ9.cGlwZWxpbmU6CiAgYnVpbGQ6CiAgICBpbWFnZTogJHtJTUFHRX0KICAgIGNvbW1hbmRzOgogICAgICAtIGdvIGJ1aWxkCgogIHRlc3Q6CiAgICBpbWFnZTogJHtJTUFHRX0KICAgIGNvbW1hbmRzOgogICAgICAtIGdvIHRlc3QKCiAgcHVibGlzaDoKICAgIGltYWdlOiBwbHVnaW5zL2RvY2tlcgogICAgcmVwbzogam9zZWJhcm4vaGVsbG8td29ybGQKICAgIHRhZ3M6IFsgMS4wLjAsIDEuMCwgbGF0ZXN0IF0KICAgIGRvY2tlcmZpbGU6IC4vZG9ja2VyL0RvY2tlcmZpbGUKICAgIHNlY3JldHM6IFsgRE9DS0VSX1VTRVJOQU1FLCBET0NLRVJfUEFTU1dPUkQgXQogICAgZGVidWc6IHRydWUKbWF0cml4OgogIElNQUdFOgogICAgLSBnb2xhbmc6bGF0ZXN0Cg.KhxWXgdGcJHCk-aDcSx9GEphLCIMEFe2vg0EpYWUlBI

View File

@@ -1,5 +1,7 @@
# drone-with-go [![Build Status](http://beta.drone.io/api/badges/drone-demos/drone-with-go/status.svg)](http://beta.drone.io/drone-demos/drone-with-go) [![Build Status](https://aircover.co/badges/drone-demos/drone-with-go/coverage.svg)](https://aircover.co/drone-demos/drone-with-go)
# drone-with-go [![Build Status](https://ci.cloudlockng.com/api/badges/josebarn/drone-with-go/status.svg)](https://ci.cloudlockng.com/josebarn/drone-with-go)
An example of how to test Go code with Drone.
Inspect the .drone.yml file for details on the build steps for this simple go project.
Notice the .drone.sig is used to ensure secrets are not exposed; and the pipeline is split into multiple phases.

23
docker/Dockerfile Normal file
View File

@@ -0,0 +1,23 @@
# Multi-stage build form
FROM golang:latest
# Copy in code...
RUN mkdir /app
ADD main.go /app/
# Build app
WORKDIR /app
RUN CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o hello .
# Could use something even smaller...
FROM alpine:latest
RUN apk --no-cache add ca-certificates
RUN mkdir /app
WORKDIR /app/
COPY --from=0 /app/hello .
# Expose ports for future REST Interface
EXPOSE 8080
CMD ["/app/hello"]