From fecd718ce3a39452108cd7b547999128a240d694 Mon Sep 17 00:00:00 2001 From: Michael FIG Date: Mon, 6 May 2019 14:31:11 -0600 Subject: [PATCH] Improve Docker build. --- .dockerignore | 1 + .gitignore | 8 -------- .vscode/launch.json | 15 +++++++++++++++ Dockerfile | 19 ++++++++++++++++--- cmd/k8s-copier/.gitignore | 1 + 5 files changed, 33 insertions(+), 11 deletions(-) create mode 100644 .vscode/launch.json create mode 100644 cmd/k8s-copier/.gitignore diff --git a/.dockerignore b/.dockerignore index 41642f5..8389196 100644 --- a/.dockerignore +++ b/.dockerignore @@ -1,2 +1,3 @@ .git vendor/ +cmd/k8s-copier/debug diff --git a/.gitignore b/.gitignore index 8704add..50cf4a9 100644 --- a/.gitignore +++ b/.gitignore @@ -1,15 +1,7 @@ .DS_Store .idea -/acmesolver -/controller -/ingress-shim -/hack/build/dockerfiles/cert-manager-*_*_* -.vscode .venv bazel-* /.settings/ /.project vendor/ -debug -k8s-copier - diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..96695f3 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,15 @@ +{ + // Use IntelliSense to learn about possible attributes. + // Hover to view descriptions of existing attributes. + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + { + "name": "Launch file", + "type": "go", + "request": "launch", + "mode": "debug", + "program": "${workspaceFolder}/cmd/k8s-copier/main.go" + }, + ] +} \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index ad28fcf..4fc4d3d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,11 +1,24 @@ # build stage FROM golang:alpine AS build-env RUN apk add git gcc -ADD . /src -RUN cd /src && go build -o k8s-copier + +WORKDIR $GOPATH/src/github.com/michaelfig/k8s-copier +COPY . . + +# Download all the dependencies +RUN GO111MODULE=on go mod vendor + +# Install the binaries +RUN go install -v ./cmd/k8s-copier + +WORKDIR /app +RUN cp $GOPATH/bin/k8s-copier /app/ # final stage FROM alpine + +LABEL maintainer="Michael FIG " + WORKDIR /app -COPY --from=build-env /src/k8s-copier /app/ +COPY --from=build-env /app/k8s-copier /app/ CMD ./k8s-copier diff --git a/cmd/k8s-copier/.gitignore b/cmd/k8s-copier/.gitignore new file mode 100644 index 0000000..d287cd3 --- /dev/null +++ b/cmd/k8s-copier/.gitignore @@ -0,0 +1 @@ +debug