mirror of
https://github.com/GoogleContainerTools/kaniko
synced 2026-10-22 08:53:35 +02:00
Fix release pipeline (#1561)
* fix debug cloud build * fix cloudbuild release * add workflow * fix release * use push action * Trigger Build * Trigger Build * Trigger Build * Trigger Build * Trigger Build * add * add parallel steps * add parallel steps * fix pathc * fix dockerfile * fix dockerfile * add executor * deploy * test
This commit is contained in:
+6
-17
@@ -14,9 +14,10 @@
|
||||
|
||||
# Builds the static Go image to execute in a Kubernetes job
|
||||
|
||||
FROM golang:1.14
|
||||
FROM golang:1.15
|
||||
ARG GOARCH=amd64
|
||||
WORKDIR /go/src/github.com/GoogleContainerTools/kaniko
|
||||
|
||||
RUN echo $GOARCH > /goarch
|
||||
|
||||
#This arg is passed by docker buildx & contains the platform info in the form linux/amd64, linux/ppc64le etc.
|
||||
@@ -24,7 +25,6 @@ ARG TARGETPLATFORM
|
||||
|
||||
#Capture ARCH has write to /goarch
|
||||
RUN [ ! "x" = "x$TARGETPLATFORM" ] && `echo $TARGETPLATFORM | awk '{split($0,a,"/"); print a[2]}' > /goarch` || echo "$GOARCH"
|
||||
RUN echo "I am runninng $TARGETPLATFORM with with $(cat /goarch)"
|
||||
|
||||
# Get GCR credential helper
|
||||
RUN GOARCH=$(cat /goarch) && CGO_ENABLED=0 && \
|
||||
@@ -39,34 +39,24 @@ RUN GOARCH=$(cat /goarch) && CGO_ENABLED=0 && \
|
||||
RUN GOARCH=$(cat /goarch) && go get -u github.com/awslabs/amazon-ecr-credential-helper/ecr-login/cli/docker-credential-ecr-login && \
|
||||
make -C /go/src/github.com/awslabs/amazon-ecr-credential-helper
|
||||
|
||||
# Azure docker credential helper
|
||||
COPY ./acr.patch /
|
||||
RUN GOARCH=$(cat /goarch) && (mkdir -p /go/src/github.com/Azure || true) && \
|
||||
cd /go/src/github.com/Azure && \
|
||||
git clone https://github.com/Azure/acr-docker-credential-helper && \
|
||||
cd /go/src/github.com/Azure/acr-docker-credential-helper && \
|
||||
git checkout a79b541f3ee761f6cc4511863ed41fb038c19464 && \
|
||||
git apply < /acr.patch && \
|
||||
make && cp -f bin/linux/${GOARCH}/docker-credential-acr-linux /usr/local/bin/docker-credential-acr-linux
|
||||
|
||||
# ACR docker env credential helper
|
||||
RUN GOARCH=$(cat /goarch) && (mkdir -p /go/src/github.com/chrismellard || true) && \
|
||||
cd /go/src/github.com/chrismellard && \
|
||||
git clone https://github.com/chrismellard/docker-credential-acr-env && \
|
||||
cd docker-credential-acr-env && \
|
||||
make build && cp -f ./build/docker-credential-acr-env /usr/local/bin
|
||||
make build
|
||||
|
||||
# Add .docker config dir
|
||||
RUN mkdir -p /kaniko/.docker
|
||||
|
||||
COPY . .
|
||||
RUN make GOARCH=$(cat /goarch)
|
||||
RUN make GOARCH=$(cat /goarch.txt)
|
||||
|
||||
FROM scratch
|
||||
COPY --from=0 /go/src/github.com/GoogleContainerTools/kaniko/out/executor /kaniko/executor
|
||||
COPY --from=0 /usr/local/bin/docker-credential-gcr /kaniko/docker-credential-gcr
|
||||
COPY --from=0 /go/src/github.com/awslabs/amazon-ecr-credential-helper/bin/local/docker-credential-ecr-login /kaniko/docker-credential-ecr-login
|
||||
COPY --from=0 /usr/local/bin/docker-credential-acr-linux /kaniko/docker-credential-acr
|
||||
COPY --from=0 /go/src/github.com/chrismellard/docker-credential-acr-env/build/docker-credential-acr-env /kaniko/docker-credential-acr
|
||||
COPY files/ca-certificates.crt /kaniko/ssl/certs/
|
||||
COPY --from=0 /kaniko/.docker /kaniko/.docker
|
||||
COPY files/nsswitch.conf /etc/nsswitch.conf
|
||||
@@ -79,5 +69,4 @@ ENV DOCKER_CREDENTIAL_GCR_CONFIG /kaniko/.config/gcloud/docker_credential_gcr_co
|
||||
WORKDIR /workspace
|
||||
RUN ["docker-credential-gcr", "config", "--token-source=env"]
|
||||
|
||||
ENTRYPOINT ["/kaniko/executor"]
|
||||
|
||||
ENTRYPOINT ["/kaniko/executor"]
|
||||
+8
-21
@@ -17,6 +17,7 @@
|
||||
# Stage 0: Build the executor binary and get credential helpers
|
||||
FROM golang:1.14
|
||||
ARG GOARCH=amd64
|
||||
WORKDIR /go/src/github.com/GoogleContainerTools/kaniko
|
||||
RUN echo $GOARCH > /goarch
|
||||
|
||||
#This arg is passed by docker buildx & contains the platform info in the form linux/amd64, linux/ppc64le etc.
|
||||
@@ -27,36 +28,21 @@ RUN [ ! "x" = "x$TARGETPLATFORM" ] && `echo $TARGETPLATFORM | awk '{split($0,a,
|
||||
RUN echo "I am runninng $TARGETPLATFORM with with $(cat /goarch)"
|
||||
RUN cat /goarch
|
||||
|
||||
WORKDIR /go/src/github.com/GoogleContainerTools/kaniko
|
||||
|
||||
# Get GCR credential helper
|
||||
RUN GOARCH=$(cat /goarch) && CGO_ENABLED=0 && \
|
||||
(mkdir -p /go/src/github.com/GoogleCloudPlatform || true) && \
|
||||
cd /go/src/github.com/GoogleCloudPlatform && \
|
||||
git clone https://github.com/GoogleCloudPlatform/docker-credential-gcr.git && \
|
||||
cd /go/src/github.com/GoogleCloudPlatform/docker-credential-gcr && \
|
||||
make && cp bin/docker-credential-gcr /usr/local/bin/docker-credential-gcr
|
||||
ADD https://github.com/GoogleCloudPlatform/docker-credential-gcr/releases/download/v2.0.1/docker-credential-gcr_linux_$GOARCH-2.0.1.tar.gz /usr/local/bin/
|
||||
RUN tar --no-same-owner -C /usr/local/bin/ -xvzf /usr/local/bin/docker-credential-gcr_linux_$GOARCH-2.0.1.tar.gz
|
||||
|
||||
# Get Amazon ECR credential helper
|
||||
RUN GOARCH=$(cat /goarch) && go get -u github.com/awslabs/amazon-ecr-credential-helper/ecr-login/cli/docker-credential-ecr-login && \
|
||||
make -C /go/src/github.com/awslabs/amazon-ecr-credential-helper
|
||||
|
||||
# ACR docker credential helper
|
||||
COPY ./acr.patch /
|
||||
RUN GOARCH=$(cat /goarch) && (mkdir -p /go/src/github.com/Azure || true) && \
|
||||
cd /go/src/github.com/Azure && \
|
||||
git clone https://github.com/Azure/acr-docker-credential-helper && \
|
||||
cd /go/src/github.com/Azure/acr-docker-credential-helper && \
|
||||
git checkout a79b541f3ee761f6cc4511863ed41fb038c19464 && \
|
||||
git apply < /acr.patch && \
|
||||
make && cp -f ./bin/docker-credential-acr-linux /usr/local/bin/docker-credential-acr-linux
|
||||
|
||||
#ACR docker env credential helper
|
||||
# Azure docker env credential helper
|
||||
RUN GOARCH=$(cat /goarch) && (mkdir -p /go/src/github.com/chrismellard || true) && \
|
||||
cd /go/src/github.com/chrismellard && \
|
||||
git clone https://github.com/chrismellard/docker-credential-acr-env && \
|
||||
cd docker-credential-acr-env && \
|
||||
make build && cp -f ./build/docker-credential-acr-env /usr/local/bin
|
||||
make build
|
||||
|
||||
# Add .docker config dir
|
||||
RUN mkdir -p /kaniko/.docker
|
||||
@@ -69,7 +55,7 @@ COPY --from=0 /go/src/github.com/GoogleContainerTools/kaniko/out/* /kaniko/
|
||||
COPY --from=0 /go/src/github.com/GoogleContainerTools/kaniko/out/warmer /kaniko/warmer
|
||||
COPY --from=0 /usr/local/bin/docker-credential-gcr /kaniko/docker-credential-gcr
|
||||
COPY --from=0 /go/src/github.com/awslabs/amazon-ecr-credential-helper/bin/local/docker-credential-ecr-login /kaniko/docker-credential-ecr-login
|
||||
COPY --from=0 /usr/local/bin/docker-credential-acr-linux /kaniko/docker-credential-acr
|
||||
COPY --from=0 /go/src/github.com/chrismellard/docker-credential-acr-env/build/docker-credential-acr-env /kaniko/docker-credential-acr
|
||||
COPY --from=busybox:1.32.0 /bin /busybox
|
||||
|
||||
# Declare /busybox as a volume to get it automatically in the path to ignore
|
||||
@@ -79,10 +65,11 @@ COPY files/ca-certificates.crt /kaniko/ssl/certs/
|
||||
COPY --from=0 /kaniko/.docker /kaniko/.docker
|
||||
COPY files/nsswitch.conf /etc/nsswitch.conf
|
||||
ENV HOME /root
|
||||
ENV USER /root
|
||||
ENV USER root
|
||||
ENV PATH /usr/local/bin:/kaniko:/busybox
|
||||
ENV SSL_CERT_DIR=/kaniko/ssl/certs
|
||||
ENV DOCKER_CONFIG /kaniko/.docker/
|
||||
ENV DOCKER_CREDENTIAL_GCR_CONFIG /kaniko/.config/gcloud/docker_credential_gcr_config.json
|
||||
WORKDIR /workspace
|
||||
RUN ["docker-credential-gcr", "config", "--token-source=env"]
|
||||
ENTRYPOINT ["/kaniko/executor"]
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
# limitations under the License.
|
||||
|
||||
# Builds the static Go image to execute in a Kubernetes job
|
||||
FROM golang:1.14 as build_env
|
||||
FROM golang:1.15 as build_env
|
||||
ARG GOARCH=amd64
|
||||
RUN echo $GOARCH > /goarch
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
|
||||
# Builds the static Go image to execute in a Kubernetes job
|
||||
|
||||
FROM golang:1.14
|
||||
FROM golang:1.15
|
||||
ARG GOARCH=amd64
|
||||
WORKDIR /go/src/github.com/GoogleContainerTools/kaniko
|
||||
RUN echo $GOARCH > /goarch
|
||||
@@ -27,34 +27,19 @@ RUN [ ! "x" = "x$TARGETPLATFORM" ] && `echo $TARGETPLATFORM | awk '{split($0,a,
|
||||
RUN echo "I am runninng $TARGETPLATFORM with $(cat /goarch)"
|
||||
|
||||
# Get GCR credential helper
|
||||
RUN GOARCH=$(cat /goarch) && CGO_ENABLED=0 && \
|
||||
(mkdir -p /go/src/github.com/GoogleCloudPlatform || true) && \
|
||||
cd /go/src/github.com/GoogleCloudPlatform && \
|
||||
git clone https://github.com/GoogleCloudPlatform/docker-credential-gcr.git && \
|
||||
cd /go/src/github.com/GoogleCloudPlatform/docker-credential-gcr && \
|
||||
make deps OUT_DIR=/usr/local/bin && \
|
||||
go build -ldflags "-linkmode external -extldflags -static" -i -o /usr/local/bin/docker-credential-gcr main.go
|
||||
ADD https://github.com/GoogleCloudPlatform/docker-credential-gcr/releases/download/v2.0.1/docker-credential-gcr_linux_$GOARCH-2.0.1.tar.gz /usr/local/bin/
|
||||
RUN tar --no-same-owner -C /usr/local/bin/ -xvzf /usr/local/bin/docker-credential-gcr_linux_$GOARCH-2.0.1.tar.gz
|
||||
|
||||
# Get Amazon ECR credential helper
|
||||
RUN GOARCH=$(cat /goarch) && go get -u github.com/awslabs/amazon-ecr-credential-helper/ecr-login/cli/docker-credential-ecr-login && \
|
||||
make -C /go/src/github.com/awslabs/amazon-ecr-credential-helper
|
||||
|
||||
# Azure docker credential helper
|
||||
COPY ./acr.patch /
|
||||
RUN GOARCH=$(cat /goarch) && (mkdir -p /go/src/github.com/Azure || true) && \
|
||||
cd /go/src/github.com/Azure && \
|
||||
git clone https://github.com/Azure/acr-docker-credential-helper && \
|
||||
cd /go/src/github.com/Azure/acr-docker-credential-helper && \
|
||||
git checkout a79b541f3ee761f6cc4511863ed41fb038c19464 && \
|
||||
git apply < /acr.patch && \
|
||||
make && cp -f bin/linux/${GOARCH}/docker-credential-acr-linux /usr/local/bin/docker-credential-acr-linux
|
||||
|
||||
# ACR docker env credential helper
|
||||
RUN GOARCH=$(cat /goarch) && (mkdir -p /go/src/github.com/chrismellard || true) && \
|
||||
cd /go/src/github.com/chrismellard && \
|
||||
git clone https://github.com/chrismellard/docker-credential-acr-env && \
|
||||
cd docker-credential-acr-env && \
|
||||
make build && cp -f ./build/docker-credential-acr-env /usr/local/bin
|
||||
make build
|
||||
|
||||
# Add .docker config dir
|
||||
RUN mkdir -p /kaniko/.docker
|
||||
@@ -66,7 +51,7 @@ FROM scratch
|
||||
COPY --from=0 /go/src/github.com/GoogleContainerTools/kaniko/out/warmer /kaniko/warmer
|
||||
COPY --from=0 /usr/local/bin/docker-credential-gcr /kaniko/docker-credential-gcr
|
||||
COPY --from=0 /go/src/github.com/awslabs/amazon-ecr-credential-helper/bin/local/docker-credential-ecr-login /kaniko/docker-credential-ecr-login
|
||||
COPY --from=0 /usr/local/bin/docker-credential-acr-linux /kaniko/docker-credential-acr
|
||||
COPY --from=0 /go/src/github.com/chrismellard/docker-credential-acr-env/build/docker-credential-acr-env /kaniko/docker-credential-acr
|
||||
COPY files/ca-certificates.crt /kaniko/ssl/certs/
|
||||
COPY --from=0 /kaniko/.docker /kaniko/.docker
|
||||
COPY files/nsswitch.conf /etc/nsswitch.conf
|
||||
|
||||
@@ -22,4 +22,4 @@ options:
|
||||
|
||||
substitutions:
|
||||
_EXECUTOR_IMAGE_NAME: executor
|
||||
_DOCKER_BUILDX_PLATFORMS: 'linux/amd64,linux/arm64'
|
||||
_DOCKER_BUILDX_PLATFORMS: 'linux/arm64'
|
||||
|
||||
@@ -9,10 +9,10 @@ steps:
|
||||
args: ['buildx', 'create', '--use', '--platform', '${_DOCKER_BUILDX_PLATFORMS}']
|
||||
id: 'create-builder'
|
||||
|
||||
# # First, build kaniko
|
||||
# - name: "gcr.io/cloud-builders/docker"
|
||||
# args: ['buildx', 'build', '--platform', '$_DOCKER_BUILDX_PLATFORMS', "-f", "deploy/Dockerfile",
|
||||
# "-t", "gcr.io/$PROJECT_ID/${_EXECUTOR_IMAGE_NAME}:$COMMIT_SHA", "--push", "." ]
|
||||
# First, build kaniko
|
||||
- name: "gcr.io/cloud-builders/docker"
|
||||
args: ['buildx', 'build', '--platform', '$_DOCKER_BUILDX_PLATFORMS', "-f", "deploy/Dockerfile",
|
||||
"-t", "gcr.io/$PROJECT_ID/${_EXECUTOR_IMAGE_NAME}:$COMMIT_SHA", "--push", "." ]
|
||||
|
||||
# Finally executor:slim image
|
||||
- name: "gcr.io/cloud-builders/docker"
|
||||
|
||||
Reference in New Issue
Block a user