github.com/go-swagger/go-swagger@v0.31.0/Dockerfile (about)

     1  FROM --platform=$BUILDPLATFORM golang:alpine as cross
     2  
     3  ARG TARGETOS TARGETARCH
     4  
     5  ARG commit_hash="dev"
     6  ARG tag_name="dev"
     7  
     8  ADD . /work
     9  WORKDIR /work
    10  
    11  RUN apk --no-cache add ca-certificates shared-mime-info mailcap git build-base binutils-gold
    12  
    13  RUN mkdir -p bin &&\
    14    LDFLAGS="$LDFLAGS -X github.com/go-swagger/go-swagger/cmd/swagger/commands.Commit=${commit_hash}" &&\
    15    LDFLAGS="$LDFLAGS -X github.com/go-swagger/go-swagger/cmd/swagger/commands.Version=${tag_name}" &&\
    16    CGO_ENABLED=0 GOOS=$TARGETOS GOARCH=$TARGETARCH go build -tags osusergo,netgo -o bin/swagger -ldflags "$LDFLAGS" -a ./cmd/swagger
    17  
    18  FROM --platform=$TARGETPLATFORM golang:alpine
    19  
    20  LABEL maintainer="Ivan Porto Carrero <ivan@flanders.co.nz> (@casualjim)"
    21  
    22  RUN apk --no-cache add ca-certificates shared-mime-info mailcap git build-base
    23  
    24  COPY --from=cross /work/bin/swagger /usr/bin/swagger
    25  COPY --from=cross /work/generator/templates/contrib /templates/
    26  
    27  ENTRYPOINT ["/usr/bin/swagger"]
    28  CMD ["--help"]