github.com/replicatedcom/ship@v0.50.0/integration/Dockerfile (about) 1 # build the test 2 FROM golang:1.12-alpine as build-step 3 ENV GOPATH=/go 4 5 RUN apk update && apk add ca-certificates curl git build-base 6 7 ENV TERRAFORM_VERSION=0.11.14 8 ENV TERRAFORM_URL="https://releases.hashicorp.com/terraform/${TERRAFORM_VERSION}/terraform_${TERRAFORM_VERSION}_linux_amd64.zip" 9 ENV TERRAFORM_ZIP="terraform_${TERRAFORM_VERSION}_linux_amd64.zip" 10 ENV TERRAFORM_SHA256SUM=9b9a4492738c69077b079e595f5b2a9ef1bc4e8fb5596610f69a6f322a8af8dd 11 12 RUN curl -fsSLO "$TERRAFORM_URL" \ 13 && echo "${TERRAFORM_SHA256SUM} ${TERRAFORM_ZIP}" | sha256sum -c - \ 14 && unzip "$TERRAFORM_ZIP" \ 15 && mv "terraform" "/usr/local/bin/terraform-${TERRAFORM_VERSION}" \ 16 && ln -s "/usr/local/bin/terraform-${TERRAFORM_VERSION}" /usr/local/bin/terraform 17 18 ENV KUBECTL_VERSION=v1.11.1 19 ENV KUBECTL_URL=https://storage.googleapis.com/kubernetes-release/release/${KUBECTL_VERSION}/bin/linux/amd64/kubectl 20 ENV KUBECTL_SHA256SUM=d16a4e7bfe0033ea5f56f8d11e74f7a2dec5ff8832a046a643c8355b79b4ba5c 21 22 RUN curl -fsSLO "${KUBECTL_URL}" \ 23 && echo "${KUBECTL_SHA256SUM} kubectl" | sha256sum -c - \ 24 && chmod +x kubectl \ 25 && mv kubectl "/usr/local/bin/kubectl-${KUBECTL_VERSION}" \ 26 && ln -s "/usr/local/bin/kubectl-${KUBECTL_VERSION}" /usr/local/bin/kubectl 27 28 RUN go get github.com/docker/distribution/cmd/registry 29 RUN go get github.com/onsi/ginkgo/ginkgo 30 31 ADD . /go/src/github.com/replicatedhq/ship 32 RUN cd /go/src/github.com/replicatedhq/ship && \ 33 ginkgo build ./integration/base && \ 34 ginkgo build ./integration/update && \ 35 ginkgo build ./integration/init_app && \ 36 ginkgo build ./integration/init && \ 37 ginkgo build ./integration/unfork 38 39 # package things up 40 FROM node:8-alpine 41 ENV GOPATH=/go 42 WORKDIR /test 43 44 RUN npm install -g http-echo-server 45 46 COPY --from=build-step /usr/local/bin/terraform /usr/local/bin/terraform 47 COPY --from=build-step /usr/local/bin/kubectl /usr/local/bin/kubectl 48 COPY --from=build-step $GOPATH/bin/registry $GOPATH/bin/registry 49 COPY --from=build-step $GOPATH/bin/ginkgo $GOPATH/bin/ginkgo 50 RUN apk update && apk add ca-certificates git openssh && rm -rf /var/cache/apk/* 51 52 RUN mkdir -p /var/lib/registry 53 54 55 ADD ./integration /test 56 RUN cd /test && rm *.go 57 COPY --from=build-step /go/src/github.com/replicatedhq/ship/integration/base/base.test /test/base/ 58 COPY --from=build-step /go/src/github.com/replicatedhq/ship/integration/update/update.test /test/update/ 59 COPY --from=build-step /go/src/github.com/replicatedhq/ship/integration/init_app/init_app.test /test/init_app/ 60 COPY --from=build-step /go/src/github.com/replicatedhq/ship/integration/init/init.test /test/init/ 61 COPY --from=build-step /go/src/github.com/replicatedhq/ship/integration/unfork/unfork.test /test/unfork 62 CMD ./integration_docker_start.sh 63 64 65 66