Ensure that the plugin binary does not conflict with the utility being used (#24)
use methode described in https://docs.docker.com/build/buildx/install/ to install buildx into image. - `/usr/lib/docker/cli-plugins/docker-buildx` -> `/usr/libexec/docker/cli-plugins/docker-buildx` - fix linux/amd64 build on linux/arm64 rename plugin binary - `docker-buildx` -> `plugin-docker-buildx` Reviewed-on: https://codeberg.org/woodpecker-plugins/plugin-docker-buildx/pulls/24 Reviewed-by: anbraten <anbraten@noreply.codeberg.org>
This commit is contained in:
parent
10426e6a19
commit
b85ee124e2
2
.gitignore
vendored
2
.gitignore
vendored
@ -1,6 +1,6 @@
|
|||||||
/release/
|
/release/
|
||||||
|
|
||||||
docker-buildx
|
plugin-docker-buildx
|
||||||
|
|
||||||
coverage.out
|
coverage.out
|
||||||
CHANGELOG.md
|
CHANGELOG.md
|
||||||
|
@ -1,4 +1,8 @@
|
|||||||
FROM --platform=$BUILDPLATFORM golang:1.18 as build
|
ARG BUILDX_VERSION=0.9.1
|
||||||
|
ARG DOCKER_VERSION=20.10-dind
|
||||||
|
ARG GOLANG_VERSION=1.18
|
||||||
|
|
||||||
|
FROM --platform=$BUILDPLATFORM golang:${GOLANG_VERSION} as build
|
||||||
|
|
||||||
COPY . /src
|
COPY . /src
|
||||||
WORKDIR /src
|
WORKDIR /src
|
||||||
@ -8,24 +12,12 @@ RUN --mount=type=cache,target=/root/.cache/go-build \
|
|||||||
--mount=type=cache,target=/go/pkg \
|
--mount=type=cache,target=/go/pkg \
|
||||||
make build
|
make build
|
||||||
|
|
||||||
FROM docker:20.10-dind
|
FROM docker/buildx-bin:${BUILDX_VERSION} as buildx-bin
|
||||||
|
FROM docker:${DOCKER_VERSION}
|
||||||
|
|
||||||
ARG BUILDX_VERSION
|
COPY --from=buildx-bin /buildx /usr/libexec/docker/cli-plugins/docker-buildx
|
||||||
|
COPY --from=build /src/plugin-docker-buildx /bin/plugin-docker-buildx
|
||||||
# renovate: datasource=github-releases depName=docker/buildx
|
|
||||||
ENV BUILDX_VERSION="${BUILDX_VERSION:-v0.9.1}"
|
|
||||||
|
|
||||||
ENV DOCKER_HOST=unix:///var/run/docker.sock
|
ENV DOCKER_HOST=unix:///var/run/docker.sock
|
||||||
|
|
||||||
RUN \
|
ENTRYPOINT ["/usr/local/bin/dockerd-entrypoint.sh", "plugin-docker-buildx"]
|
||||||
apk --update add --virtual .build-deps curl && \
|
|
||||||
mkdir -p /usr/lib/docker/cli-plugins/ && \
|
|
||||||
curl -SsL -o /usr/lib/docker/cli-plugins/docker-buildx "https://github.com/docker/buildx/releases/download/v${BUILDX_VERSION##v}/buildx-v${BUILDX_VERSION##v}.linux-amd64" && \
|
|
||||||
chmod 755 /usr/lib/docker/cli-plugins/docker-buildx && \
|
|
||||||
apk del .build-deps && \
|
|
||||||
rm -rf /var/cache/apk/* && \
|
|
||||||
rm -rf /tmp/*
|
|
||||||
|
|
||||||
COPY --from=build /src/docker-buildx /bin/docker-buildx
|
|
||||||
|
|
||||||
ENTRYPOINT ["/usr/local/bin/dockerd-entrypoint.sh", "docker-buildx"]
|
|
||||||
|
2
Makefile
2
Makefile
@ -3,4 +3,4 @@ TARGETARCH ?= amd64
|
|||||||
LDFLAGS := -s -w -extldflags "-static"
|
LDFLAGS := -s -w -extldflags "-static"
|
||||||
|
|
||||||
build:
|
build:
|
||||||
CGO_ENABLED=0 GOOS=${TARGETOS} GOARCH=${TARGETARCH} go build -ldflags '${LDFLAGS}' -v -a -tags netgo -o docker-buildx ./cmd/docker-buildx
|
CGO_ENABLED=0 GOOS=${TARGETOS} GOARCH=${TARGETARCH} go build -ldflags '${LDFLAGS}' -v -a -tags netgo -o plugin-docker-buildx ./cmd/docker-buildx
|
||||||
|
Loading…
Reference in New Issue
Block a user