| FROM ubuntu:17.10 |
| |
| RUN rm /bin/sh && ln -s /bin/bash /bin/sh |
| RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections |
| |
| RUN apt-get -y update \ |
| && apt-get -y install \ |
| build-essential \ |
| gcc \ |
| apt-utils \ |
| pkg-config \ |
| software-properties-common \ |
| apt-transport-https \ |
| libssl-dev \ |
| sudo \ |
| bash \ |
| curl \ |
| wget \ |
| tar \ |
| git \ |
| && apt-get -y update \ |
| && apt-get -y upgrade \ |
| && apt-get -y autoremove \ |
| && apt-get -y autoclean |
| |
| ENV GOROOT /usr/local/go |
| ENV GOPATH /go |
| ENV PATH ${GOPATH}/bin:${GOROOT}/bin:${PATH} |
| ENV GO_VERSION REPLACE_ME_GO_VERSION |
| ENV GO_DOWNLOAD_URL https://storage.googleapis.com/golang |
| RUN rm -rf ${GOROOT} \ |
| && curl -s ${GO_DOWNLOAD_URL}/go${GO_VERSION}.linux-amd64.tar.gz | tar -v -C /usr/local/ -xz \ |
| && mkdir -p ${GOPATH}/src ${GOPATH}/bin \ |
| && go version |
| |
| RUN mkdir -p ${GOPATH}/src/github.com/coreos/etcd |
| ADD . ${GOPATH}/src/github.com/coreos/etcd |
| |
| RUN go get -v github.com/coreos/gofail \ |
| && pushd ${GOPATH}/src/github.com/coreos/etcd \ |
| && GO_BUILD_FLAGS="-v" ./build \ |
| && cp ./bin/etcd /etcd \ |
| && cp ./bin/etcdctl /etcdctl \ |
| && GO_BUILD_FLAGS="-v" FAILPOINTS=1 ./build \ |
| && cp ./bin/etcd /etcd-failpoints \ |
| && ./tools/functional-tester/build \ |
| && cp ./bin/etcd-agent /etcd-agent \ |
| && cp ./bin/etcd-tester /etcd-tester \ |
| && cp ./bin/etcd-runner /etcd-runner \ |
| && go build -v -o /benchmark ./cmd/tools/benchmark \ |
| && go build -v -o /etcd-test-proxy ./cmd/tools/etcd-test-proxy \ |
| && popd \ |
| && rm -rf ${GOPATH}/src/github.com/coreos/etcd |