erpnext/scripts/ci/jenkins-build-image.sh
epistemophiliac 2aca11bb75 Use :main tag only and host sync instead of compose preload.
Remove image-preload service (compose creates all containers before it can run); Jenkins and sync-main-from-forgejo.sh load :main on the host internally.
2026-06-16 21:05:44 -04:00

39 lines
1.2 KiB
Bash
Executable file

#!/usr/bin/env bash
set -euo pipefail
# shellcheck source=/dev/null
source .ci-bin/ci-env.sh
FRAPPE_BRANCH="${FRAPPE_BRANCH:-version-16}"
REGISTRY_IMAGE="${REGISTRY_IMAGE:-git.aexoradao.com/epistemophiliac/erpnext}"
GIT_SHA="$(git rev-parse --short HEAD)"
IMAGE_TAG="${IMAGE_TAG:-main-${GIT_SHA}}"
CACHE_BUST="$(sha256sum apps.json | awk '{print $1}')"
echo "=== Building ${REGISTRY_IMAGE}:${IMAGE_TAG} ==="
echo "FRAPPE_BRANCH=${FRAPPE_BRANCH}"
echo "apps.json sha256=${CACHE_BUST}"
if ! $DOCKER buildx inspect jenkins-ci >/dev/null 2>&1; then
$DOCKER buildx create --name jenkins-ci --driver docker-container --use
else
$DOCKER buildx use jenkins-ci
fi
$DOCKER buildx build --load \
--build-arg="FRAPPE_BRANCH=${FRAPPE_BRANCH}" \
--build-arg="CACHE_BUST=${CACHE_BUST}" \
--secret=id=apps_json,src=apps.json \
--tag="${REGISTRY_IMAGE}:${IMAGE_TAG}" \
--tag="${REGISTRY_IMAGE}:main" \
--file=images/layered/Containerfile .
mkdir -p dist
echo "${REGISTRY_IMAGE}:main" > dist/image-reference.txt
cat > dist/coolify-image.env <<EOF
CUSTOM_IMAGE=${REGISTRY_IMAGE}
CUSTOM_TAG=main
PULL_POLICY=if_not_present
EOF
echo "Built ${REGISTRY_IMAGE}:${IMAGE_TAG} and ${REGISTRY_IMAGE}:main"