From 2c9e76bca25e3858e809492d762d6524766b7d55 Mon Sep 17 00:00:00 2001 From: Kevin Midboe Date: Sat, 10 Dec 2022 15:37:28 +0100 Subject: [PATCH] Dockerfile and drone config for build & publish to ghcr --- .drone.yml | 39 +++++++++++++++++++++++++++++++++++++++ Dockerfile | 21 +++++++++++++++++++++ 2 files changed, 60 insertions(+) create mode 100644 .drone.yml create mode 100644 Dockerfile diff --git a/.drone.yml b/.drone.yml new file mode 100644 index 0000000..ca70e5b --- /dev/null +++ b/.drone.yml @@ -0,0 +1,39 @@ +--- +kind: pipeline +type: docker +name: Build and publish + +platform: + os: linux + arch: amd64 + +steps: + - name: build + image: golang + commands: + - make build + + - name: Build and publish docker image + image: plugins/docker + settings: + registry: ghcr.io + repo: ghcr.io/kevinmidboe/planetposen-images + dockerfile: Dockerfile + username: + from_secret: GITHUB_USERNAME + password: + from_secret: GITHUB_PASSWORD + tags: latest + when: + event: + include: + - push + exclude: + - pull_request + branch: + - main + - feat/drone-ci-setup + +--- +kind: signature +hmac: 13d584e973017ab053c389c87d797deb78ea0c85c348446c7e5c1e3e8a174bc3 diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..b1567c8 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,21 @@ +# Build the project +FROM golang:1.19 as builder + +LABEL org.opencontainers.image.source="https://github.com/KevinMidboe/planetposen-images" + +WORKDIR /go/src/github.com/kevinmidboe/planetposen-images +ADD . . + +RUN make build +# RUN make test + +# Create production image for application with needed files +FROM golang:1.19-alpine + +EXPOSE 8000 + +RUN apk add --no-cache ca-certificates + +COPY --from=builder /go/src/github.com/kevinmidboe/planetposen-images . + +CMD ["./main"] \ No newline at end of file