From ceb2b47958287737387dcbe7d88c37680eddad21 Mon Sep 17 00:00:00 2001 From: Bo-Yi Wu Date: Fri, 22 Dec 2017 12:43:46 +0800 Subject: [PATCH] feat(docker): suport arm arm64 image --- .drone.yml | 26 ++++++++++++++++++++++++++ Dockerfile | 4 ++-- Dockerfile.arm | 13 +++++++++++++ Dockerfile.arm64 | 13 +++++++++++++ Makefile | 6 ++++++ 5 files changed, 60 insertions(+), 2 deletions(-) create mode 100644 Dockerfile.arm create mode 100644 Dockerfile.arm64 diff --git a/.drone.yml b/.drone.yml index 4aa4286..3e0e76a 100644 --- a/.drone.yml +++ b/.drone.yml @@ -50,6 +50,32 @@ pipeline: event: [ push, tag ] local: false + publish_linux_arm64: + image: plugins/docker:17.05 + pull: true + secrets: [ docker_username, docker_password ] + group: release + repo: ${DRONE_REPO} + auto_tag: true + auto_tag_suffix: arm64 + dockerfile: Dockerfile.arm64 + when: + event: [ push, tag ] + local: false + + publish_linux_arm: + image: plugins/docker:17.05 + pull: true + secrets: [ docker_username, docker_password ] + group: release + repo: ${DRONE_REPO} + auto_tag: true + auto_tag_suffix: arm + dockerfile: Dockerfile.arm + when: + event: [ push, tag ] + local: false + release_tag: image: plugins/github-release secrets: [ github_release_api_key ] diff --git a/Dockerfile b/Dockerfile index e4b5481..0ba70bf 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,11 +1,11 @@ -FROM alpine:3.6 +FROM alpine:3.7 LABEL maintainer="Bo-Yi Wu " \ org.label-schema.name="Drone SCP" \ org.label-schema.vendor="Bo-Yi Wu" \ org.label-schema.schema-version="1.0" -RUN apk add -U --no-cache ca-certificates && \ +RUN apk add --no-cache ca-certificates && \ rm -rf /var/cache/apk/* ADD release/linux/amd64/drone-scp /bin/ diff --git a/Dockerfile.arm b/Dockerfile.arm new file mode 100644 index 0000000..3775c44 --- /dev/null +++ b/Dockerfile.arm @@ -0,0 +1,13 @@ +FROM arm64v8/alpine:3.7 + +LABEL maintainer="Bo-Yi Wu " \ + org.label-schema.name="Drone SCP" \ + org.label-schema.vendor="Bo-Yi Wu" \ + org.label-schema.schema-version="1.0" + +RUN apk add --no-cache ca-certificates && \ + rm -rf /var/cache/apk/* + +ADD release/linux/amd64/drone-scp /bin/ + +ENTRYPOINT ["/bin/drone-scp"] diff --git a/Dockerfile.arm64 b/Dockerfile.arm64 new file mode 100644 index 0000000..99ba5f2 --- /dev/null +++ b/Dockerfile.arm64 @@ -0,0 +1,13 @@ +FROM arm64v8/alpine:3.7 + +LABEL maintainer="Bo-Yi Wu " \ + org.label-schema.name="Drone SCP" \ + org.label-schema.vendor="Bo-Yi Wu" \ + org.label-schema.schema-version="1.0" + +RUN apk add --no-cache ca-certificates && \ + rm -rf /var/cache/apk/* + +ADD release/linux/arm64/drone-scp /bin/ + +ENTRYPOINT ["/bin/drone-scp"] diff --git a/Makefile b/Makefile index 332950d..b67e932 100644 --- a/Makefile +++ b/Makefile @@ -97,6 +97,12 @@ release-check: build_linux_amd64: CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -a -tags '$(TAGS)' -ldflags '$(EXTLDFLAGS)-s -w $(LDFLAGS)' -o release/linux/amd64/$(DEPLOY_IMAGE) +build_linux_arm64: + CGO_ENABLED=0 GOOS=linux GOARCH=arm64 go build -a -tags '$(TAGS)' -ldflags '$(EXTLDFLAGS)-s -w $(LDFLAGS)' -o release/linux/arm64/$(DEPLOY_IMAGE) + +build_linux_arm: + CGO_ENABLED=0 GOOS=linux GOARCH=arm GOARM=7 go build -a -tags '$(TAGS)' -ldflags '$(EXTLDFLAGS)-s -w $(LDFLAGS)' -o release/linux/arm/$(DEPLOY_IMAGE) + docker_image: docker build -t $(DEPLOY_ACCOUNT)/$(DEPLOY_IMAGE) .