From 3bb152a1464472514a59d536d4e3ba7171a52d66 Mon Sep 17 00:00:00 2001 From: Lee Brown Date: Tue, 6 Aug 2019 19:40:11 -0800 Subject: [PATCH] updated devops tool to use scratch image for cache --- tools/devops/Dockerfile | 10 +++++++--- tools/devops/cmd/cicd/service_build.go | 11 +++++++++-- tools/devops/scripts/build.sh | 2 +- 3 files changed, 17 insertions(+), 6 deletions(-) diff --git a/tools/devops/Dockerfile b/tools/devops/Dockerfile index dbcf127..14b33d1 100644 --- a/tools/devops/Dockerfile +++ b/tools/devops/Dockerfile @@ -1,4 +1,4 @@ -FROM golang:1.12.6-alpine3.9 +FROM golang:1.12.6-alpine3.9 AS builder LABEL maintainer="lee@geeksinthewoods.com" @@ -19,6 +19,10 @@ COPY tools/devops ./tools/devops WORKDIR ./tools/devops -RUN CGO_ENABLED=0 GOOS=linux go build -a -installsuffix nocgo -o /devops . +RUN CGO_ENABLED=0 GOOS=linux go build -a -installsuffix nocgo -o /go/bin/devops . -ENTRYPOINT ["/devops"] +FROM scratch + +COPY --from=builder /go/bin/devops /go/bin/devops + +ENTRYPOINT ["/go/bin/devops"] diff --git a/tools/devops/cmd/cicd/service_build.go b/tools/devops/cmd/cicd/service_build.go index fceba76..d34e40d 100644 --- a/tools/devops/cmd/cicd/service_build.go +++ b/tools/devops/cmd/cicd/service_build.go @@ -291,7 +291,7 @@ func ServiceBuild(log *log.Logger, req *serviceBuildRequest) error { buildBaseImage = req.ProjectName + ":" + req.Env + "-" + req.ServiceName + "-" + buildBaseImageTag } - cmds = append(cmds, []string{"docker", "pull", buildBaseImageTag}) + cmds = append(cmds, []string{"docker", "pull", buildBaseImage}) cmds = append(cmds, []string{ "docker", "build", @@ -337,7 +337,14 @@ func ServiceBuild(log *log.Logger, req *serviceBuildRequest) error { } for _, cmd := range cmds { - log.Printf("\t\t%s\n", strings.Join(cmd, " ")) + var logCmd string + if len(cmd) >= 2 && cmd[1] == "login" { + logCmd = strings.Join(cmd[0:2], " ") + } else { + logCmd = strings.Join(cmd, " ") + } + + log.Printf("\t\t%s\n", logCmd) err = execCmds(log, req.ProjectRoot, cmd) if err != nil { diff --git a/tools/devops/scripts/build.sh b/tools/devops/scripts/build.sh index 69a6c76..16f517d 100755 --- a/tools/devops/scripts/build.sh +++ b/tools/devops/scripts/build.sh @@ -20,5 +20,5 @@ if [[ $doPush == 1 ]]; then docker push ${releaseImg} fi -docker run --rm --entrypoint=cat ${releaseImg} /devops > devops +docker run --rm --entrypoint=cat ${releaseImg} /go/bin/devops > devops chmod +x devops