From bc8ff9b4122a6c4ad1e567b06827f50905eb528b Mon Sep 17 00:00:00 2001 From: stefanprodan Date: Fri, 8 Feb 2019 00:06:23 +0200 Subject: [PATCH] Build ARM image with Drone on Scaleway --- .drone.yml | 24 ++++++++++++++++++++++++ Dockerfile.arm | 33 +++++++++++++++++++++++++++++++++ Dockerfile.ci | 16 ++++++++-------- 3 files changed, 65 insertions(+), 8 deletions(-) create mode 100644 .drone.yml create mode 100644 Dockerfile.arm diff --git a/.drone.yml b/.drone.yml new file mode 100644 index 0000000..d7a3ec4 --- /dev/null +++ b/.drone.yml @@ -0,0 +1,24 @@ +--- +kind: pipeline +name: linux-arm-docker + +platform: + os: linux + arch: arm + + - name: dryrun + pull: always + image: plugins/docker:linux-arm + settings: + dockerfile: Dockerfile.arm + dry_run: true + repo: stefanprodan/podinfo-arm + tags: linux-arm + username: + from_secret: DOCKER_USERNAME + password: + from_secret: DOCKER_PASSWORD + when: + event: + - push + - pull_request \ No newline at end of file diff --git a/Dockerfile.arm b/Dockerfile.arm new file mode 100644 index 0000000..0b2b418 --- /dev/null +++ b/Dockerfile.arm @@ -0,0 +1,33 @@ +FROM golang:1.11 as builder + +RUN mkdir -p /go/src/github.com/stefanprodan/k8s-podinfo/ + +WORKDIR /go/src/github.com/stefanprodan/k8s-podinfo + +COPY . . + +RUN GIT_COMMIT=$(git rev-list -1 HEAD) && CGO_ENABLED=0 GOOS=linux \ + go build -ldflags "-s -w -X github.com/stefanprodan/k8s-podinfo/pkg/version.REVISION=${GIT_COMMIT}" \ + -a -installsuffix cgo -o podinfo ./cmd/podinfo + +RUN GIT_COMMIT=$(git rev-list -1 HEAD) && CGO_ENABLED=0 GOOS=linux \ + go build -ldflags "-s -w -X github.com/stefanprodan/k8s-podinfo/pkg/version.REVISION=${GIT_COMMIT}" \ + -a -installsuffix cgo -o podcli ./cmd/podcli + +FROM alpine:3.8 + +RUN addgroup -S app \ + && adduser -S -g app app \ + && apk --no-cache add \ + curl openssl netcat-openbsd + +WORKDIR /home/app + +COPY --from=builder /go/src/github.com/stefanprodan/k8s-podinfo/podinfo . +COPY --from=builder /go/src/github.com/stefanprodan/k8s-podinfo/podcli /usr/local/bin/podcli +COPY ./ui ./ui +RUN chown -R app:app ./ + +USER app + +CMD ["./podinfo"] diff --git a/Dockerfile.ci b/Dockerfile.ci index 1e2e7d2..3f7aac0 100644 --- a/Dockerfile.ci +++ b/Dockerfile.ci @@ -8,15 +8,15 @@ COPY . . RUN go test $(go list ./... | grep -v integration | grep -v /vendor/ | grep -v /template/) -cover -RUN gofmt -l -d $(find . -type f -name '*.go' -not -path "./vendor/*") && \ - GIT_COMMIT=$(git rev-list -1 HEAD) && \ - CGO_ENABLED=0 GOOS=linux go build -ldflags "-s -w \ - -X github.com/stefanprodan/k8s-podinfo/pkg/version.REVISION=${GIT_COMMIT}" \ - -a -installsuffix cgo -o podinfo ./cmd/podinfo +RUN GIT_COMMIT=$(git rev-list -1 HEAD) && \ + CGO_ENABLED=0 GOOS=linux go build -ldflags "-s -w \ + -X github.com/stefanprodan/k8s-podinfo/pkg/version.REVISION=${GIT_COMMIT}" \ + -a -installsuffix cgo -o podinfo ./cmd/podinfo -RUN CGO_ENABLED=0 GOOS=linux go build -ldflags "-s -w \ - -X github.com/stefanprodan/k8s-podinfo/pkg/version.REVISION=${GIT_COMMIT}" \ - -a -installsuffix cgo -o podcli ./cmd/podcli +RUN GIT_COMMIT=$(git rev-list -1 HEAD) && \ + CGO_ENABLED=0 GOOS=linux go build -ldflags "-s -w \ + -X github.com/stefanprodan/k8s-podinfo/pkg/version.REVISION=${GIT_COMMIT}" \ + -a -installsuffix cgo -o podcli ./cmd/podcli FROM alpine:3.8