From 02c1389778e2a5275ef5e6d3d905bb2fd2fd9407 Mon Sep 17 00:00:00 2001 From: Pierre-Olivier Mercier Date: Tue, 18 May 2021 00:42:52 +0200 Subject: [PATCH] CI/CD: Make deployed binaries static Closes: #2 --- .drone.yml | 22 ++++++++++++++++------ Dockerfile | 2 +- 2 files changed, 17 insertions(+), 7 deletions(-) diff --git a/.drone.yml b/.drone.yml index cc88c13..013166e 100644 --- a/.drone.yml +++ b/.drone.yml @@ -58,13 +58,17 @@ steps: - apk --no-cache add go-bindata - sed -i '/yarn --cwd htdocs --offline build/d' static.go - go generate -v - - go build -v -o happydns-${DRONE_STAGE_OS}-${DRONE_STAGE_ARCH} + - go build -v -tags netgo -ldflags '-w' -o happydns-${DRONE_STAGE_OS}-${DRONE_STAGE_ARCH} + environment: + CGO_ENABLED: 0 - name: vet image: golang:alpine commands: - apk --no-cache add build-base - go vet -v + environment: + CGO_ENABLED: 0 - name: deploy image: appleboy/drone-scp @@ -103,8 +107,9 @@ steps: - name: build macOS image: golang:alpine commands: - - go build -v -o happydns-darwin-${DRONE_STAGE_ARCH} + - go build -v -tags netgo -ldflags '-w' -o happydns-darwin-${DRONE_STAGE_ARCH} environment: + CGO_ENABLED: 0 GOOS: darwin GOARCH: amd64 @@ -177,8 +182,10 @@ steps: - apk --no-cache add go-bindata - sed -i '/yarn --cwd htdocs --offline build/d' static.go - go generate -v - - go build -v -o happydns-${DRONE_STAGE_OS}-${DRONE_STAGE_ARCH} + - go build -v -tags netgo -ldflags '-w' -o happydns-${DRONE_STAGE_OS}-${DRONE_STAGE_ARCH} - ln happydns-${DRONE_STAGE_OS}-${DRONE_STAGE_ARCH} happydns + environment: + CGO_ENABLED: 0 - name: deploy image: appleboy/drone-scp @@ -250,8 +257,9 @@ steps: - apk --no-cache add go-bindata build-base - sed -i '/yarn --cwd htdocs --offline build/d' static.go - go generate -v - - go build -v -o happydns-${DRONE_STAGE_OS}-${DRONE_STAGE_ARCH}el + - go build -v -tags netgo -ldflags '-w' -o happydns-${DRONE_STAGE_OS}-${DRONE_STAGE_ARCH}el environment: + CGO_ENABLED: 0 GOARM: 5 - name: deploy armel @@ -292,8 +300,9 @@ steps: image: golang:alpine commands: - apk --no-cache add build-base - - go build -v -o happydns-${DRONE_STAGE_OS}-${DRONE_STAGE_ARCH}hf + - go build -v -tags netgo -ldflags '-w' -o happydns-${DRONE_STAGE_OS}-${DRONE_STAGE_ARCH}hf environment: + CGO_ENABLED: 0 GOARM: 6 - name: deploy armhf @@ -334,9 +343,10 @@ steps: image: golang:alpine commands: - apk --no-cache add build-base - - go build -v -o happydns-${DRONE_STAGE_OS}-${DRONE_STAGE_ARCH}v7 + - go build -v -tags netgo -ldflags '-w' -o happydns-${DRONE_STAGE_OS}-${DRONE_STAGE_ARCH}v7 - ln happydns-${DRONE_STAGE_OS}-${DRONE_STAGE_ARCH}v7 happydns environment: + CGO_ENABLED: 0 GOARM: 7 - name: deploy armv7 diff --git a/Dockerfile b/Dockerfile index cfd8ef5..133ec1c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -34,7 +34,7 @@ COPY generate.go go.mod go.sum main.go static.go ./ RUN sed -i '/yarn --cwd htdocs --offline build/d' static.go && \ go get -d -v && \ go generate -v && \ - go build -v + go build -v -ldflags '-w' FROM alpine