Added Dockerfile and entrypoint
This commit is contained in:
		
							parent
							
								
									7d716b972f
								
							
						
					
					
						commit
						05a446e4a2
					
				|  | @ -0,0 +1,53 @@ | ||||||
|  | FROM docker:18.09 | ||||||
|  | 
 | ||||||
|  | ARG GO_VERSION | ||||||
|  | ARG OPERATOR_SDK_VERSION | ||||||
|  | ARG MINIKUBE_VERSION | ||||||
|  | 
 | ||||||
|  | ARG GOPATH="/go" | ||||||
|  | 
 | ||||||
|  | RUN mkdir -p /go | ||||||
|  | 
 | ||||||
|  | # Stage 1 - Install dependencies | ||||||
|  | RUN apk update && \ | ||||||
|  |     apk add --no-cache \ | ||||||
|  |             curl \ | ||||||
|  |             python \ | ||||||
|  |             py-crcmod \ | ||||||
|  |             bash \ | ||||||
|  |             libc6-compat \ | ||||||
|  |             openssh-client \ | ||||||
|  |             git \ | ||||||
|  |             make \ | ||||||
|  |             gcc \ | ||||||
|  |             libc-dev \ | ||||||
|  |             git | ||||||
|  | 
 | ||||||
|  | RUN curl -O https://storage.googleapis.com/golang/go$GO_VERSION.linux-amd64.tar.gz && tar -xvf go$GO_VERSION.linux-amd64.tar.gz | ||||||
|  | 
 | ||||||
|  | # Stage 2 - Install operator-sdk | ||||||
|  | RUN echo $GOPATH/bin/operator-sdk | ||||||
|  | RUN curl -L https://github.com/operator-framework/operator-sdk/releases/download/v$OPERATOR_SDK_VERSION/operator-sdk-v$OPERATOR_SDK_VERSION-x86_64-linux-gnu -o $GOPATH/bin/operator-sdk \ | ||||||
|  |     && chmod +x $GOPATH/bin/operator-sdk | ||||||
|  | 
 | ||||||
|  | RUN curl -Lo minikube https://storage.googleapis.com/minikube/releases/v$MINIKUBE_VERSION/minikube-linux-amd64 \ | ||||||
|  |     && chmod +x minikube \ | ||||||
|  |     && cp minikube /usr/local/bin/ \ | ||||||
|  |     && rm minikube | ||||||
|  | 
 | ||||||
|  | RUN curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl \ | ||||||
|  |     && chmod +x ./kubectl \ | ||||||
|  |     && mv ./kubectl /usr/local/bin/kubectl | ||||||
|  | 
 | ||||||
|  | RUN export GO111MODULE=auto | ||||||
|  | 
 | ||||||
|  | RUN mkdir -p $GOPATH/src/github.com/jenkinsci/kubernetes-operator | ||||||
|  | ADD . $GOPATH/src/github.com/jenkinsci/kubernetes-operator | ||||||
|  | WORKDIR $GOPATH/src/github.com/jenkinsci/kubernetes-operator | ||||||
|  | 
 | ||||||
|  | RUN mkdir -p /home/builder | ||||||
|  | 
 | ||||||
|  | ENV DOCKER_TLS_VERIFY   1 | ||||||
|  | ENV DOCKER_CERT_PATH    /minikube/certs | ||||||
|  | 
 | ||||||
|  | ENTRYPOINT ["./entrypoint.sh"] | ||||||
|  | @ -0,0 +1,19 @@ | ||||||
|  | #!/bin/bash | ||||||
|  | 
 | ||||||
|  | export GOPATH=/go | ||||||
|  | export PATH=$PATH:/usr/local/go/bin:$GOPATH/bin | ||||||
|  | export GO111MODULE=on | ||||||
|  | 
 | ||||||
|  | kubectl config set-cluster minikube --server=https://$MINIKUBE_IP:8443 \ | ||||||
|  |       --certificate-authority=/minikube/ca.crt && \ | ||||||
|  |     kubectl config set-credentials minikube --certificate-authority=/root/.minikube/ca.crt \ | ||||||
|  |       --client-key=/minikube/client.key \ | ||||||
|  |       --client-certificate=/minikube/client.crt && \ | ||||||
|  |     kubectl config set-context minikube --cluster=minikube --user=minikube && \ | ||||||
|  |     kubectl config use-context minikube | ||||||
|  | 
 | ||||||
|  | make go-dependencies | ||||||
|  | ln -s $GOPATH/src/github.com/jenkinsci/kubernetes-operator/vendor/k8s.io $GOPATH/src/k8s.i | ||||||
|  | ln -s $GOPATH/src/github.com/jenkinsci/kubernetes-operator/vendor/sigs.k8s.io $GOPATH/src/sigs.k8s.io | ||||||
|  | 
 | ||||||
|  | bash | ||||||
		Loading…
	
		Reference in New Issue