feat: add dockerfile build arguments

This commit is contained in:
ThetaDev
2024-05-31 00:23:53 +02:00
parent 79ca97c0a2
commit 4866315586
2 changed files with 23 additions and 1 deletions

View File

@@ -218,3 +218,16 @@ Example: `thetadev256/test-actions-helloworld2:main`
Full reference to the built image with registry and tag.
Example: `thetadev256/test-actions-helloworld2:main`
## Dockerfile build arguments
Action-Kaniko automatically sets build arguments to allow for different dockerfile actions
depending on the OS and architecture the image is build for.
The supported arguments are:
- `TARGETPLATFORM` (example: linux/amd64)
- `TARGETOS` (example: linux)
- `TARGETARCH` (example: amd64)
- `TARGETARCH_ALT` (alternative architecture name, x86_64 for amd64, otherwise the same as TARGETARCH)
- `TARGETVARIANT` (third docker platform parameter like ARM version)

View File

@@ -96,7 +96,16 @@ if [ -n "$INPUT_PLATFORMS" ]; then
DESTINATION="--no-push --tarPath /kaniko/build/${platformFn}.tar --destination $IMAGE"
DIGEST="--image-name-tag-with-digest-file=/kaniko/build/${platformFn}_image-tag-digest"
runKaniko "${ARGS} --custom-platform=${platform} $DESTINATION $DIGEST"
targetos=$(echo "$platform" | cut -d/ -f1)
targetarch=$(echo "$platform" | cut -d/ -f2)
targetvariant=$(echo "$platform" | cut -d/ -f3)
case "$targetarch" in
'amd64') targetarchAlt="x86_64" ;;
*) targetarchAlt="$targetarch" ;;
esac
runKaniko "${ARGS} --custom-platform=${platform} --build-arg TARGETPLATFORM='${platform}' --build-arg TARGETOS='${targetos}' --build-arg TARGETARCH='${targetarch}' --build-arg TARGETARCH_ALT='${targetarchAlt}' --build-arg TARGETVARIANT='${targetvariant}' $DESTINATION $DIGEST"
echo "$platform image built: $(head -n 1 "/kaniko/build/${platformFn}_image-tag-digest")"
done