mirror of
https://github.com/woodpecker-ci/woodpecker.git
synced 2025-09-12 20:44:37 +00:00
Multiarch build cli docker images (#634)
This commit is contained in:
@@ -1,16 +0,0 @@
|
||||
# docker build --rm -f docker/Dockerfile.cli -t woodpeckerci/woodpecker-cli .
|
||||
|
||||
# use golang image to copy ssl certs later
|
||||
FROM golang:1.16
|
||||
|
||||
FROM scratch
|
||||
|
||||
# copy certs from golang:1.16 image
|
||||
COPY --from=0 /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ca-certificates.crt
|
||||
|
||||
ENV GODEBUG=netdns=go
|
||||
ADD dist/cli/linux_amd64/woodpecker-cli /bin/
|
||||
|
||||
HEALTHCHECK CMD ["/bin/woodpecker-cli", "ping"]
|
||||
|
||||
ENTRYPOINT ["/bin/woodpecker-cli"]
|
@@ -1,11 +0,0 @@
|
||||
# docker build --rm -f docker/Dockerfile.cli.alpine -t woodpeckerci/woodpecker-cli .
|
||||
|
||||
FROM alpine:3.14
|
||||
RUN apk add -U --no-cache ca-certificates
|
||||
|
||||
ENV GODEBUG=netdns=go
|
||||
ADD dist/cli/linux_amd64/woodpecker-cli /bin/
|
||||
|
||||
HEALTHCHECK CMD ["/bin/woodpecker-cli", "ping"]
|
||||
|
||||
ENTRYPOINT ["/bin/woodpecker-cli"]
|
17
docker/Dockerfile.cli.alpine.multiarch
Normal file
17
docker/Dockerfile.cli.alpine.multiarch
Normal file
@@ -0,0 +1,17 @@
|
||||
FROM --platform=$BUILDPLATFORM golang:1.16 AS build
|
||||
|
||||
WORKDIR /src
|
||||
COPY . .
|
||||
ARG TARGETOS TARGETARCH
|
||||
RUN --mount=type=cache,target=/root/.cache/go-build \
|
||||
--mount=type=cache,target=/go/pkg \
|
||||
make build-cli
|
||||
|
||||
FROM alpine:3.14
|
||||
RUN apk add -U --no-cache ca-certificates
|
||||
ENV GODEBUG=netdns=go
|
||||
|
||||
COPY --from=build src/dist/woodpecker-cli /bin/
|
||||
|
||||
HEALTHCHECK CMD ["/bin/woodpecker-cli", "ping"]
|
||||
ENTRYPOINT ["/bin/woodpecker-cli"]
|
19
docker/Dockerfile.cli.multiarch
Normal file
19
docker/Dockerfile.cli.multiarch
Normal file
@@ -0,0 +1,19 @@
|
||||
FROM --platform=$BUILDPLATFORM golang:1.16 AS build
|
||||
|
||||
WORKDIR /src
|
||||
COPY . .
|
||||
ARG TARGETOS TARGETARCH
|
||||
RUN --mount=type=cache,target=/root/.cache/go-build \
|
||||
--mount=type=cache,target=/go/pkg \
|
||||
make build-cli
|
||||
|
||||
FROM scratch
|
||||
ENV GODEBUG=netdns=go
|
||||
|
||||
# copy certs from golang:1.16 image
|
||||
COPY --from=build /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ca-certificates.crt
|
||||
# copy cli binary
|
||||
COPY --from=build src/dist/woodpecker-cli /bin/
|
||||
|
||||
HEALTHCHECK CMD ["/bin/woodpecker-cli", "ping"]
|
||||
ENTRYPOINT ["/bin/woodpecker-cli"]
|
Reference in New Issue
Block a user