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