123456789101112131415161718192021222324252627282930313233 |
- FROM golang:{{.Version}}alpine AS builder
- LABEL stage=gobuilder
- ENV CGO_ENABLED 0
- {{if .Chinese}}ENV GOPROXY https://goproxy.cn,direct
- RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories
- {{end}}{{if .HasTimezone}}
- RUN apk update --no-cache && apk add --no-cache tzdata
- {{end}}
- WORKDIR /build
- ADD go.mod .
- ADD go.sum .
- RUN go mod download
- COPY . .
- {{if .Argument}}COPY {{.GoRelPath}}/etc /app/etc
- {{end}}RUN go build -ldflags="-s -w" -o /app/{{.ExeFile}} {{.GoRelPath}}
- FROM {{.BaseImage}}
- COPY --from=builder /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ca-certificates.crt
- {{if .HasTimezone}}COPY --from=builder /usr/share/zoneinfo/{{.Timezone}} /usr/share/zoneinfo/{{.Timezone}}
- ENV TZ {{.Timezone}}
- {{end}}
- WORKDIR /app
- COPY --from=builder /app/{{.ExeFile}} /app/{{.ExeFile}}{{if .Argument}}
- COPY --from=builder /app/etc /app/etc{{end}}
- {{if .HasPort}}
- EXPOSE {{.Port}}
- {{end}}
- CMD ["./{{.ExeFile}}"{{.Argument}}]
|