From c6c867db4646b396576cb9a63f29ee771e050a64 Mon Sep 17 00:00:00 2001 From: "Alex Ellis (OpenFaaS Ltd)" Date: Wed, 13 Apr 2022 10:14:53 +0100 Subject: [PATCH] Allow static files to be published into final image Signed-off-by: Alex Ellis (OpenFaaS Ltd) --- template/golang-http/Dockerfile | 10 +++++----- template/golang-middleware/Dockerfile | 10 ++++++---- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/template/golang-http/Dockerfile b/template/golang-http/Dockerfile index 52bbaa4..e08b274 100644 --- a/template/golang-http/Dockerfile +++ b/template/golang-http/Dockerfile @@ -26,8 +26,8 @@ ENV CGO_ENABLED=${CGO_ENABLED} # Run a gofmt and exclude all vendored code. RUN test -z "$(gofmt -l $(find . -type f -name '*.go' -not -path "./vendor/*" -not -path "./function/vendor/*"))" || { echo "Run \"gofmt -s -w\" on your Golang code"; exit 1; } - WORKDIR /go/src/handler/function +RUN mkdir -p /go/src/handler/function/static RUN GOOS=${TARGETOS} GOARCH=${TARGETARCH} go test ./... -cover @@ -35,7 +35,7 @@ WORKDIR /go/src/handler RUN CGO_ENABLED=${CGO_ENABLED} GOOS=${TARGETOS} GOARCH=${TARGETARCH} \ go build --ldflags "-s -w" -a -installsuffix cgo -o handler . -FROM --platform=${TARGETPLATFORM:-linux/amd64} alpine:3.14 +FROM --platform=${TARGETPLATFORM:-linux/amd64} alpine:3.15 # Add non root user and certs RUN apk --no-cache add ca-certificates \ && addgroup -S app && adduser -S -g app app @@ -46,9 +46,9 @@ RUN mkdir -p /home/app \ WORKDIR /home/app -COPY --from=build --chown=app /go/src/handler/handler . -COPY --from=build --chown=app /usr/bin/fwatchdog . -COPY --from=build --chown=app /go/src/handler/function/ . +COPY --from=build --chown=app /go/src/handler/handler . +COPY --from=build --chown=app /usr/bin/fwatchdog . +COPY --from=build --chown=app /go/src/handler/function/static static USER app diff --git a/template/golang-middleware/Dockerfile b/template/golang-middleware/Dockerfile index 4c59721..54f13f8 100644 --- a/template/golang-middleware/Dockerfile +++ b/template/golang-middleware/Dockerfile @@ -26,6 +26,7 @@ ENV CGO_ENABLED=${CGO_ENABLED} RUN test -z "$(gofmt -l $(find . -type f -name '*.go' -not -path "./vendor/*" -not -path "./function/vendor/*"))" || { echo "Run \"gofmt -s -w\" on your Golang code"; exit 1; } WORKDIR /go/src/handler/function +RUN mkdir -p /go/src/handler/function/static RUN GOOS=${TARGETOS} GOARCH=${TARGETARCH} go test ./... -cover @@ -33,7 +34,8 @@ WORKDIR /go/src/handler RUN GOOS=${TARGETOS} GOARCH=${TARGETARCH} \ go build --ldflags "-s -w" -a -installsuffix cgo -o handler . -FROM --platform=${TARGETPLATFORM:-linux/amd64} alpine:3.14 +FROM --platform=${TARGETPLATFORM:-linux/amd64} alpine:3.15 as ship + # Add non root user and certs RUN apk --no-cache add ca-certificates \ && addgroup -S app && adduser -S -g app app @@ -44,9 +46,9 @@ RUN mkdir -p /home/app \ WORKDIR /home/app -COPY --from=build --chown=app /go/src/handler/handler . -COPY --from=build --chown=app /usr/bin/fwatchdog . -COPY --from=build --chown=app /go/src/handler/function/ . +COPY --from=build --chown=app /go/src/handler/handler . +COPY --from=build --chown=app /usr/bin/fwatchdog . +COPY --from=build --chown=app /go/src/handler/function/static static USER app