############################ # STEP 1 build executable binary ############################ FROM golang:1.23 COPY . gorse ENV CGO_ENABLED 0 RUN cd gorse/cmd/gorse-worker; \ go build -ldflags="\" \ -X 'github.com/zhenghaoz/gorse/cmd/version.Version=$(git describe --tags $(git rev-parse HEAD))' \ -X 'github.com/zhenghaoz/gorse/cmd/version.GitCommit=$(git rev-parse HEAD)' \ -X 'github.com/zhenghaoz/gorse/cmd/version.BuildTime=$(date)'\"" .; \ mv gorse-worker.exe /gorse-worker.exe RUN /gorse-worker.exe --version ############################ # STEP 2 build a small image ############################ FROM mcr.microsoft.com/windows/servercore:ltsc2022 COPY --from=0 /gorse-worker.exe /gorse-worker.exe ENTRYPOINT [ "/gorse-worker.exe" ]