Skip to content
Snippets Groups Projects
Commit 24dffc46 authored by Matt Kasa's avatar Matt Kasa
Browse files

Initial commit

parent d074f5bf
Branches initial_commit
No related tags found
No related merge requests found
variables:
DOCKER_DRIVER: overlay2
BUILD_IMAGE_NAME: "$CI_REGISTRY_IMAGE/branches/$CI_COMMIT_REF_SLUG:$CI_COMMIT_SHA"
RELEASE_IMAGE_NAME: "$CI_REGISTRY_IMAGE/releases/$TERRAFORM_VERSION"
services:
- docker:19.03.5-dind
stages:
- build
- test
- release
.dind: &dind
image: docker:19.03.5
before_script:
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" "$CI_REGISTRY"
.build: &build
<<: &dind
stage: build
script:
- docker build --tag "$BUILD_IMAGE_NAME" --file "Dockerfile.$TERRAFORM_VERSION" .
- docker push "$BUILD_IMAGE_NAME"
.test-unit: &test-unit
stage: test
image: "$BUILD_IMAGE_NAME"
script:
- terraform --version
.release: &release
<<: &dind
stage: release
script:
- docker pull "$BUILD_IMAGE_NAME"
- docker tag "$BUILD_IMAGE_NAME" "$RELEASE_IMAGE_NAME"
- docker push "$RELEASE_IMAGE_NAME"
only:
- master
.terraform-0.11: &terraform-0.11
variables:
TERRAFORM_VERSION: "0.11"
.terraform-0.12: &terraform-0.12
variables:
TERRAFORM_VERSION: "0.12"
build 0.11:
<<: &terraform-0.11
<<: &build
build 0.12:
<<: &terraform-0.12
<<: &build
test-unit 0.11:
<<: &terraform-0.11
<<: &test-unit
test-unit 0.12:
<<: &terraform-0.12
<<: &test-unit
release 0.11:
<<: &terraform-0.11
<<: &release
release 0.12:
<<: &terraform-0.12
<<: &release
FROM hashicorp/terraform:0.11.13
RUN apk add --no-cache jq
FROM alpine:3.9 AS base
FROM base AS build-base
RUN apk add --no-cache curl
FROM build-base AS kubectl
ARG KUBECTL_VERSION
ARG KUBECTL_CHECKSUM
ARG SOURCE=https://dl.k8s.io/v$KUBECTL_VERSION/kubernetes-client-linux-amd64.tar.gz
ARG TARGET=/kubernetes-client.tar.gz
RUN curl -fLSs "$SOURCE" -o "$TARGET"
RUN sha512sum "$TARGET"
RUN echo "$KUBECTL_CHECKSUM *$TARGET" | sha512sum -c -
RUN tar -xvf "$TARGET" -C /
FROM build-base AS helm
ARG HELM_VERSION
ARG HELM_CHECKSUM
ARG SOURCE=https://storage.googleapis.com/kubernetes-helm/helm-v$HELM_VERSION-linux-amd64.tar.gz
ARG TARGET=/helm.tar.gz
RUN curl -fLSs "$SOURCE" -o "$TARGET"
RUN sha256sum "$TARGET"
RUN echo "$HELM_CHECKSUM *$TARGET" | sha256sum -c -
RUN mkdir -p /helm
RUN tar -xvf "$TARGET" -C /helm
FROM build-base AS stage
WORKDIR /stage
ENV PATH=$PATH:/stage/usr/bin
COPY --from=kubectl /kubernetes/client/bin/kubectl ./usr/bin/
COPY --from=helm /helm/linux-amd64/helm ./usr/bin/
COPY --from=helm /helm/linux-amd64/tiller ./usr/bin/
FROM base
RUN apk add --no-cache ca-certificates git
COPY --from=stage /stage/ /
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment