.gitea/workflows/build-and-push.yaml aktualisiert
This commit is contained in:
@@ -129,32 +129,37 @@ jobs:
|
|||||||
|
|
||||||
BASE_SHA=$(docker buildx imagetools inspect $BASE --format '{{json .Manifest.Digest}}' 2>/dev/null | tr -d '"' || echo "unknown")
|
BASE_SHA=$(docker buildx imagetools inspect $BASE --format '{{json .Manifest.Digest}}' 2>/dev/null | tr -d '"' || echo "unknown")
|
||||||
|
|
||||||
AMD_TAGS=("-t" "$IMAGE_GITEA:tmp-amd64")
|
# 1. Architektur-spezifische Builds pushen
|
||||||
ARM_TAGS=("-t" "$IMAGE_GITEA:tmp-arm64")
|
docker buildx build "${DOCKER_ARGS[@]}" -t "$IMAGE_GITEA:tmp-amd64" \
|
||||||
|
|
||||||
if [[ "$PUSH" == *"dockerhub"* ]]; then
|
|
||||||
DOCKERHUB_REPO="${{ secrets.DOCKERHUB_USERNAME }}/$REPO_PURE"
|
|
||||||
AMD_TAGS+=("-t" "$DOCKERHUB_REPO:tmp-amd64")
|
|
||||||
ARM_TAGS+=("-t" "$DOCKERHUB_REPO:tmp-arm64")
|
|
||||||
fi
|
|
||||||
|
|
||||||
docker buildx build "${DOCKER_ARGS[@]}" "${AMD_TAGS[@]}" \
|
|
||||||
--pull --platform linux/amd64 -f Dockerfile \
|
--pull --platform linux/amd64 -f Dockerfile \
|
||||||
--label "pi_farm.base_digest=$BASE_SHA" --label "pi_farm.args_hash=$ARGS_HASH" --push .
|
--label "pi_farm.base_digest=$BASE_SHA" --label "pi_farm.args_hash=$ARGS_HASH" --push .
|
||||||
|
|
||||||
docker buildx build "${DOCKER_ARGS[@]}" "${ARM_TAGS[@]}" \
|
docker buildx build "${DOCKER_ARGS[@]}" -t "$IMAGE_GITEA:tmp-arm64" \
|
||||||
--pull --platform linux/arm64 -f Dockerfile.aarch64 \
|
--pull --platform linux/arm64 -f Dockerfile.aarch64 \
|
||||||
--label "pi_farm.base_digest=$BASE_SHA" --label "pi_farm.args_hash=$ARGS_HASH" --push .
|
--label "pi_farm.base_digest=$BASE_SHA" --label "pi_farm.args_hash=$ARGS_HASH" --push .
|
||||||
|
|
||||||
|
# 2. Multi-Arch Manifest für Gitea erstellen
|
||||||
|
# Wir bauen ein Array für die Tags
|
||||||
|
GITEA_MANIFEST_TAGS=("-t" "$IMAGE_GITEA:$TAG")
|
||||||
|
if [[ "$BUILD_TAG_LATEST" == "y" ]]; then
|
||||||
|
GITEA_MANIFEST_TAGS+=("-t" "$IMAGE_GITEA:latest")
|
||||||
|
fi
|
||||||
|
|
||||||
docker buildx imagetools create \
|
docker buildx imagetools create \
|
||||||
--annotation "index:pi_farm.base_digest=$BASE_SHA" --annotation "index:pi_farm.args_hash=$ARGS_HASH" \
|
--annotation "index:pi_farm.base_digest=$BASE_SHA" --annotation "index:pi_farm.args_hash=$ARGS_HASH" \
|
||||||
-t $IMAGE_GITEA:$TAG -t $IMAGE_GITEA:latest $IMAGE_GITEA:tmp-amd64 $IMAGE_GITEA:tmp-arm64
|
"${GITEA_MANIFEST_TAGS[@]}" $IMAGE_GITEA:tmp-amd64 $IMAGE_GITEA:tmp-arm64
|
||||||
|
|
||||||
|
# 3. Multi-Arch Manifest für Docker Hub (optional)
|
||||||
if [[ "$PUSH" == *"dockerhub"* ]]; then
|
if [[ "$PUSH" == *"dockerhub"* ]]; then
|
||||||
DOCKERHUB_REPO="${{ secrets.DOCKERHUB_USERNAME }}/$REPO_PURE"
|
DOCKERHUB_REPO="${{ secrets.DOCKERHUB_USERNAME }}/$REPO_PURE"
|
||||||
|
DH_MANIFEST_TAGS=("-t" "$DOCKERHUB_REPO:$TAG")
|
||||||
|
if [[ "$BUILD_TAG_LATEST" == "y" ]]; then
|
||||||
|
DH_MANIFEST_TAGS+=("-t" "$DOCKERHUB_REPO:latest")
|
||||||
|
fi
|
||||||
|
|
||||||
docker buildx imagetools create \
|
docker buildx imagetools create \
|
||||||
--annotation "index:pi_farm.base_digest=$BASE_SHA" --annotation "index:pi_farm.args_hash=$ARGS_HASH" \
|
--annotation "index:pi_farm.base_digest=$BASE_SHA" --annotation "index:pi_farm.args_hash=$ARGS_HASH" \
|
||||||
-t $DOCKERHUB_REPO:$TAG -t $DOCKERHUB_REPO:latest $IMAGE_GITEA:tmp-amd64 $IMAGE_GITEA:tmp-arm64
|
"${DH_MANIFEST_TAGS[@]}" $IMAGE_GITEA:tmp-amd64 $IMAGE_GITEA:tmp-arm64
|
||||||
fi
|
fi
|
||||||
|
|
||||||
- name: Update Documentation and Compose
|
- name: Update Documentation and Compose
|
||||||
|
|||||||
Reference in New Issue
Block a user