From 5f4a28f5f6c1425b2dba9d30a1ba565e4edccb44 Mon Sep 17 00:00:00 2001 From: josebarn Date: Tue, 15 Aug 2017 15:14:41 -0300 Subject: [PATCH 1/5] adding test step in ci pipeline --- .drone.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.drone.yml b/.drone.yml index 5415c42..8657b83 100644 --- a/.drone.yml +++ b/.drone.yml @@ -3,6 +3,10 @@ pipeline: image: ${IMAGE} commands: - go build + + test: + image: ${IMAGE} + commands: - go test matrix: From 7513414eb76f0eaa3013be3efb4aa28225a0316e Mon Sep 17 00:00:00 2001 From: josebarn Date: Tue, 15 Aug 2017 16:13:50 -0300 Subject: [PATCH 2/5] added publish step, and drone sig for secrets, plus dockerfile --- .drone.yml | 9 +++++++-- .drone.yml.sig | 1 + docker/Dockerfile | 23 +++++++++++++++++++++++ 3 files changed, 31 insertions(+), 2 deletions(-) create mode 100644 .drone.yml.sig create mode 100644 docker/Dockerfile diff --git a/.drone.yml b/.drone.yml index 8657b83..b15be94 100644 --- a/.drone.yml +++ b/.drone.yml @@ -9,8 +9,13 @@ pipeline: 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 ] + matrix: IMAGE: - - golang:1.7 - - golang:1.8 - golang:latest diff --git a/.drone.yml.sig b/.drone.yml.sig new file mode 100644 index 0000000..9732a0f --- /dev/null +++ b/.drone.yml.sig @@ -0,0 +1 @@ +eyJhbGciOiJIUzI1NiJ9.cGlwZWxpbmU6CiAgYnVpbGQ6CiAgICBpbWFnZTogJHtJTUFHRX0KICAgIGNvbW1hbmRzOgogICAgICAtIGdvIGJ1aWxkCgogIHRlc3Q6CiAgICBpbWFnZTogJHtJTUFHRX0KICAgIGNvbW1hbmRzOgogICAgICAtIGdvIHRlc3QKCiAgcHVibGlzaDoKICAgIGltYWdlOiBwbHVnaW5zL2RvY2tlcgogICAgcmVwbzogam9zZWJhcm4vaGVsbG8td29ybGQKICAgIHRhZ3M6IFsgMS4wLjAsIDEuMCwgbGF0ZXN0IF0KICAgIGRvY2tlcmZpbGU6IC4vZG9ja2VyL0RvY2tlcmZpbGUKICAgIHNlY3JldHM6IFsgZG9ja2VyX3VzZXJuYW1lLCBkb2NrZXJfcGFzc3dvcmQgXQogICAgCm1hdHJpeDoKICBJTUFHRToKICAgIC0gZ29sYW5nOmxhdGVzdAo.35I5ulM7TJbhXqCZsiXBtPAVG0MzsDlsgrl_aZYuK10 \ No newline at end of file diff --git a/docker/Dockerfile b/docker/Dockerfile new file mode 100644 index 0000000..7a5354a --- /dev/null +++ b/docker/Dockerfile @@ -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"] From ba8ec3782551118e0479b212c512d52813a79044 Mon Sep 17 00:00:00 2001 From: josebarn Date: Tue, 15 Aug 2017 16:19:02 -0300 Subject: [PATCH 3/5] updated with my drone build status --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 0df7a67..7b876c0 100644 --- a/README.md +++ b/README.md @@ -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. From ffd12a1fdcb60bdeacb5bd2a4592cdc93c36aeaf Mon Sep 17 00:00:00 2001 From: josebarn Date: Tue, 15 Aug 2017 16:26:29 -0300 Subject: [PATCH 4/5] updated drone with debug flag --- .drone.yml | 2 +- .drone.yml.sig | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.drone.yml b/.drone.yml index b15be94..2d41ffc 100644 --- a/.drone.yml +++ b/.drone.yml @@ -15,7 +15,7 @@ pipeline: tags: [ 1.0.0, 1.0, latest ] dockerfile: ./docker/Dockerfile secrets: [ docker_username, docker_password ] - + debug: true matrix: IMAGE: - golang:latest diff --git a/.drone.yml.sig b/.drone.yml.sig index 9732a0f..a7348c4 100644 --- a/.drone.yml.sig +++ b/.drone.yml.sig @@ -1 +1 @@ -eyJhbGciOiJIUzI1NiJ9.cGlwZWxpbmU6CiAgYnVpbGQ6CiAgICBpbWFnZTogJHtJTUFHRX0KICAgIGNvbW1hbmRzOgogICAgICAtIGdvIGJ1aWxkCgogIHRlc3Q6CiAgICBpbWFnZTogJHtJTUFHRX0KICAgIGNvbW1hbmRzOgogICAgICAtIGdvIHRlc3QKCiAgcHVibGlzaDoKICAgIGltYWdlOiBwbHVnaW5zL2RvY2tlcgogICAgcmVwbzogam9zZWJhcm4vaGVsbG8td29ybGQKICAgIHRhZ3M6IFsgMS4wLjAsIDEuMCwgbGF0ZXN0IF0KICAgIGRvY2tlcmZpbGU6IC4vZG9ja2VyL0RvY2tlcmZpbGUKICAgIHNlY3JldHM6IFsgZG9ja2VyX3VzZXJuYW1lLCBkb2NrZXJfcGFzc3dvcmQgXQogICAgCm1hdHJpeDoKICBJTUFHRToKICAgIC0gZ29sYW5nOmxhdGVzdAo.35I5ulM7TJbhXqCZsiXBtPAVG0MzsDlsgrl_aZYuK10 \ No newline at end of file +eyJhbGciOiJIUzI1NiJ9.cGlwZWxpbmU6CiAgYnVpbGQ6CiAgICBpbWFnZTogJHtJTUFHRX0KICAgIGNvbW1hbmRzOgogICAgICAtIGdvIGJ1aWxkCgogIHRlc3Q6CiAgICBpbWFnZTogJHtJTUFHRX0KICAgIGNvbW1hbmRzOgogICAgICAtIGdvIHRlc3QKCiAgcHVibGlzaDoKICAgIGltYWdlOiBwbHVnaW5zL2RvY2tlcgogICAgcmVwbzogam9zZWJhcm4vaGVsbG8td29ybGQKICAgIHRhZ3M6IFsgMS4wLjAsIDEuMCwgbGF0ZXN0IF0KICAgIGRvY2tlcmZpbGU6IC4vZG9ja2VyL0RvY2tlcmZpbGUKICAgIHNlY3JldHM6IFsgZG9ja2VyX3VzZXJuYW1lLCBkb2NrZXJfcGFzc3dvcmQgXQogICAgZGVidWc6IHRydWUKbWF0cml4OgogIElNQUdFOgogICAgLSBnb2xhbmc6bGF0ZXN0Cg.1G5B9jDepMofbtuRHWyeZ8XHR-ExHQnB5EjopnVsZWk \ No newline at end of file From 4e94796908af35ec0682bb071c40454902ad89f9 Mon Sep 17 00:00:00 2001 From: josebarn Date: Tue, 15 Aug 2017 17:15:21 -0300 Subject: [PATCH 5/5] updated drone with debug flag --- .drone.yml | 2 +- .drone.yml.sig | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.drone.yml b/.drone.yml index 2d41ffc..b907ac8 100644 --- a/.drone.yml +++ b/.drone.yml @@ -14,7 +14,7 @@ pipeline: repo: josebarn/hello-world tags: [ 1.0.0, 1.0, latest ] dockerfile: ./docker/Dockerfile - secrets: [ docker_username, docker_password ] + secrets: [ DOCKER_USERNAME, DOCKER_PASSWORD ] debug: true matrix: IMAGE: diff --git a/.drone.yml.sig b/.drone.yml.sig index a7348c4..67ae578 100644 --- a/.drone.yml.sig +++ b/.drone.yml.sig @@ -1 +1 @@ -eyJhbGciOiJIUzI1NiJ9.cGlwZWxpbmU6CiAgYnVpbGQ6CiAgICBpbWFnZTogJHtJTUFHRX0KICAgIGNvbW1hbmRzOgogICAgICAtIGdvIGJ1aWxkCgogIHRlc3Q6CiAgICBpbWFnZTogJHtJTUFHRX0KICAgIGNvbW1hbmRzOgogICAgICAtIGdvIHRlc3QKCiAgcHVibGlzaDoKICAgIGltYWdlOiBwbHVnaW5zL2RvY2tlcgogICAgcmVwbzogam9zZWJhcm4vaGVsbG8td29ybGQKICAgIHRhZ3M6IFsgMS4wLjAsIDEuMCwgbGF0ZXN0IF0KICAgIGRvY2tlcmZpbGU6IC4vZG9ja2VyL0RvY2tlcmZpbGUKICAgIHNlY3JldHM6IFsgZG9ja2VyX3VzZXJuYW1lLCBkb2NrZXJfcGFzc3dvcmQgXQogICAgZGVidWc6IHRydWUKbWF0cml4OgogIElNQUdFOgogICAgLSBnb2xhbmc6bGF0ZXN0Cg.1G5B9jDepMofbtuRHWyeZ8XHR-ExHQnB5EjopnVsZWk \ No newline at end of file +eyJhbGciOiJIUzI1NiJ9.cGlwZWxpbmU6CiAgYnVpbGQ6CiAgICBpbWFnZTogJHtJTUFHRX0KICAgIGNvbW1hbmRzOgogICAgICAtIGdvIGJ1aWxkCgogIHRlc3Q6CiAgICBpbWFnZTogJHtJTUFHRX0KICAgIGNvbW1hbmRzOgogICAgICAtIGdvIHRlc3QKCiAgcHVibGlzaDoKICAgIGltYWdlOiBwbHVnaW5zL2RvY2tlcgogICAgcmVwbzogam9zZWJhcm4vaGVsbG8td29ybGQKICAgIHRhZ3M6IFsgMS4wLjAsIDEuMCwgbGF0ZXN0IF0KICAgIGRvY2tlcmZpbGU6IC4vZG9ja2VyL0RvY2tlcmZpbGUKICAgIHNlY3JldHM6IFsgRE9DS0VSX1VTRVJOQU1FLCBET0NLRVJfUEFTU1dPUkQgXQogICAgZGVidWc6IHRydWUKbWF0cml4OgogIElNQUdFOgogICAgLSBnb2xhbmc6bGF0ZXN0Cg.KhxWXgdGcJHCk-aDcSx9GEphLCIMEFe2vg0EpYWUlBI \ No newline at end of file