Browse Source
Added arm, arm64 and windows dockerfiles Changes to dockerfile should reduce size Update to readme for extra badges (same as drone-plugins) Should just need to uncomment and fix tags to auto-publish to docker hubpull/53/head
6 changed files with 178 additions and 15 deletions
@ -1,12 +1,109 @@ |
|||||
workspace: |
workspace: |
||||
base: /go |
base: /go |
||||
path: src/github.com/drone-plugins/drone-terraform |
path: src/github.com/jmccann/drone-terraform |
||||
|
|
||||
pipeline: |
pipeline: |
||||
test: |
test: |
||||
image: golang:1.8 |
image: golang:1.9 |
||||
|
pull: true |
||||
|
commands: |
||||
|
- go vet |
||||
|
- go test -cover -coverprofile=coverage.out |
||||
|
|
||||
|
build_linux_amd64: |
||||
|
image: golang:1.9 |
||||
|
pull: true |
||||
|
group: build |
||||
environment: |
environment: |
||||
|
- GOOS=linux |
||||
|
- GOARCH=amd64 |
||||
- CGO_ENABLED=0 |
- CGO_ENABLED=0 |
||||
commands: |
commands: |
||||
- go test -cover -coverprofile=coverage.out |
- go build -v -ldflags "-X main.revision=$(git rev-parse HEAD)" -a -o release/linux/amd64/${DRONE_REPO_NAME} |
||||
- go build -ldflags "-s -w -X main.revision=$(git rev-parse HEAD)" -a |
|
||||
|
# build_linux_arm64: |
||||
|
# image: golang:1.9 |
||||
|
# pull: true |
||||
|
# group: build |
||||
|
# environment: |
||||
|
# - GOOS=linux |
||||
|
# - GOARCH=arm64 |
||||
|
# - CGO_ENABLED=0 |
||||
|
# commands: |
||||
|
# - go build -v -ldflags "-X main.revision=$(git rev-parse HEAD)" -a -o release/linux/arm64/${DRONE_REPO_NAME} |
||||
|
|
||||
|
build_linux_arm: |
||||
|
image: golang:1.9 |
||||
|
pull: true |
||||
|
group: build |
||||
|
environment: |
||||
|
- GOOS=linux |
||||
|
- GOARCH=arm |
||||
|
- CGO_ENABLED=0 |
||||
|
- GOARM=7 |
||||
|
commands: |
||||
|
- go build -v -ldflags "-X main.revision=$(git rev-parse HEAD)" -a -o release/linux/arm/${DRONE_REPO_NAME} |
||||
|
|
||||
|
# build_windows_amd64: |
||||
|
# image: golang:1.9-nanoserver |
||||
|
# pull: true |
||||
|
# group: build |
||||
|
# environment: |
||||
|
# - GOOS=windows |
||||
|
# - GOARCH=amd64 |
||||
|
# - CGO_ENABLED=0 |
||||
|
# commands: |
||||
|
# - go build -v -ldflags "-X main.build=${DRONE_BUILD_NUMBER}" -a -o release/windows/amd64/${DRONE_REPO_NAME} |
||||
|
|
||||
|
# publish_linux_amd64: |
||||
|
# image: plugins/docker:17.05 |
||||
|
# pull: true |
||||
|
# repo: jmccann/${DRONE_REPO_NAME} |
||||
|
# tags: [ latest, 1.0.0, 1.0, 1 ] |
||||
|
# secrets: [ docker_username, docker_password ] |
||||
|
# dockerfile: Dockerfile |
||||
|
# when: |
||||
|
# branch: master |
||||
|
# event: push |
||||
|
|
||||
|
# publish_linux_arm64: |
||||
|
# image: plugins/docker:17.05 |
||||
|
# pull: true |
||||
|
# repo: jmccann/${DRONE_REPO_NAME} |
||||
|
# tags: [ linux-arm64 ] |
||||
|
# secrets: [ docker_username, docker_password ] |
||||
|
# dockerfile: Dockerfile.arm64 |
||||
|
# when: |
||||
|
# branch: master |
||||
|
# event: push |
||||
|
# |
||||
|
# publish_linux_arm: |
||||
|
# image: plugins/docker:17.05 |
||||
|
# pull: true |
||||
|
# repo: jmccann/${DRONE_REPO_NAME} |
||||
|
# tags: [ linux-arm ] |
||||
|
# secrets: [ docker_username, docker_password ] |
||||
|
# dockerfile: Dockerfile.arm |
||||
|
# when: |
||||
|
# branch: master |
||||
|
# event: push |
||||
|
|
||||
|
# publish_windows_amd64: |
||||
|
# image: plugins/docker:17.05 |
||||
|
# pull: true |
||||
|
# repo: jmccann/${DRONE_REPO_NAME} |
||||
|
# tags: [ windows-amd64 ] |
||||
|
# secrets: [ docker_username, docker_password ] |
||||
|
# dockerfile: Dockerfile.windows |
||||
|
# when: |
||||
|
# branch: master |
||||
|
# event: push |
||||
|
|
||||
|
# microbadger: |
||||
|
# image: plugins/webhook:1 |
||||
|
# pull: true |
||||
|
# secrets: [ webhook_url ] |
||||
|
# when: |
||||
|
# branch: master |
||||
|
# event: push |
||||
|
# status: [ success ] |
||||
|
@ -1,19 +1,26 @@ |
|||||
# Docker image for the Drone Terraform plugin |
# Docker image for the Drone Terraform plugin |
||||
# |
# |
||||
# docker build --rm=true -t jmccann/drone-terraform:latest . |
# docker build --rm=true -t jmccann/drone-terraform:latest . |
||||
|
FROM alpine:3.6 as alpine |
||||
|
RUN apk add -U --no-cache ca-certificates git wget |
||||
|
|
||||
FROM alpine:3.4 |
ENV TERRAFORM_VERSION 0.10.3 |
||||
|
|
||||
RUN apk -U add \ |
|
||||
ca-certificates \ |
|
||||
git \ |
|
||||
wget && \ |
|
||||
rm -rf /var/cache/apk/* |
|
||||
|
|
||||
ENV TERRAFORM_VERSION 0.9.11 |
|
||||
RUN wget -q https://releases.hashicorp.com/terraform/${TERRAFORM_VERSION}/terraform_${TERRAFORM_VERSION}_linux_amd64.zip -O terraform.zip && \ |
RUN wget -q https://releases.hashicorp.com/terraform/${TERRAFORM_VERSION}/terraform_${TERRAFORM_VERSION}_linux_amd64.zip -O terraform.zip && \ |
||||
unzip terraform.zip -d /bin && \ |
unzip terraform.zip -d /bin && \ |
||||
rm -f terraform.zip |
rm -f terraform.zip |
||||
|
|
||||
ADD drone-terraform /bin/ |
FROM scratch |
||||
|
|
||||
|
ENV GODEBUG=netdns=go |
||||
|
COPY --from=alpine /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ |
||||
|
COPY --from=alpine /bin/terraform /bin/terraform |
||||
|
|
||||
|
|
||||
|
|
||||
|
LABEL org.label-schema.version=latest |
||||
|
LABEL org.label-schema.vcs-url="https://github.com/jmccann/drone-terraform.git" |
||||
|
LABEL org.label-schema.name="Drone Terraform" |
||||
|
LABEL org.label-schema.vendor="jmccann" |
||||
|
|
||||
|
ADD release/linux/amd64/drone-terraform /bin/ |
||||
ENTRYPOINT ["/bin/drone-terraform"] |
ENTRYPOINT ["/bin/drone-terraform"] |
||||
|
@ -0,0 +1,21 @@ |
|||||
|
FROM alpine:3.6 as alpine |
||||
|
RUN apk add -U --no-cache ca-certificates git wget |
||||
|
|
||||
|
ENV TERRAFORM_VERSION 0.10.3 |
||||
|
RUN wget -q https://releases.hashicorp.com/terraform/${TERRAFORM_VERSION}/terraform_${TERRAFORM_VERSION}_linux_arm.zip -O terraform.zip && \ |
||||
|
unzip terraform.zip -d /bin && \ |
||||
|
rm -f terraform.zip |
||||
|
|
||||
|
FROM scratch |
||||
|
|
||||
|
ENV GODEBUG=netdns=go |
||||
|
|
||||
|
COPY --from=alpine /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ |
||||
|
|
||||
|
LABEL org.label-schema.version=latest |
||||
|
LABEL org.label-schema.vcs-url="https://github.com/jmccann/drone-terraform.git" |
||||
|
LABEL org.label-schema.name="Drone Terraform" |
||||
|
LABEL org.label-schema.vendor="jmccann" |
||||
|
|
||||
|
ADD release/linux/arm/drone-terraform /bin/ |
||||
|
ENTRYPOINT ["/bin/drone-terraform"] |
@ -0,0 +1,21 @@ |
|||||
|
FROM alpine:3.6 as alpine |
||||
|
RUN apk add -U --no-cache ca-certificates |
||||
|
|
||||
|
ENV TERRAFORM_VERSION 0.10.3 |
||||
|
RUN wget -q https://releases.hashicorp.com/terraform/${TERRAFORM_VERSION}/terraform_${TERRAFORM_VERSION}_linux_arm.zip -O terraform.zip && \ |
||||
|
unzip terraform.zip -d /bin && \ |
||||
|
rm -f terraform.zip |
||||
|
|
||||
|
FROM scratch |
||||
|
|
||||
|
ENV GODEBUG=netdns=go |
||||
|
|
||||
|
COPY --from=alpine /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ |
||||
|
|
||||
|
LABEL org.label-schema.version=latest |
||||
|
LABEL org.label-schema.vcs-url="https://github.com/jmccann/drone-terraform.git" |
||||
|
LABEL org.label-schema.name="Drone Terraform" |
||||
|
LABEL org.label-schema.vendor="jmccann" |
||||
|
|
||||
|
ADD release/linux/arm64/drone-terraform /bin/ |
||||
|
ENTRYPOINT ["/bin/drone-terraform"] |
@ -0,0 +1,13 @@ |
|||||
|
FROM microsoft/nanoserver:latest |
||||
|
|
||||
|
ENV GODEBUG=netdns=go |
||||
|
|
||||
|
ENV TERRAFORM_VERSION 0.10.3 |
||||
|
|
||||
|
LABEL org.label-schema.version=latest |
||||
|
LABEL org.label-schema.vcs-url="https://github.com/jmccann/drone-terraform.git" |
||||
|
LABEL org.label-schema.name="Drone Terraform" |
||||
|
LABEL org.label-schema.vendor="jmccann" |
||||
|
|
||||
|
ADD release/windows/amd64/drone-terraform /bin/ |
||||
|
ENTRYPOINT [ "/bin/drone-terraform" ] |
Loading…
Reference in new issue