erpnext/scripts/ci/jenkins-build-image.sh
epistemophiliac 17c2c5ead8 Add custom Frappe image build with HRMS, Lending, and LMS.
Jenkins builds from apps.json, pushes to Forgejo registry, and archives Coolify image tags; compose installs all apps on first site creation.
2026-06-16 19:10:17 -04:00

35 lines
1 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}')"
export DOCKER_BUILDKIT=1
echo "=== Building ${REGISTRY_IMAGE}:${IMAGE_TAG} ==="
echo "FRAPPE_BRANCH=${FRAPPE_BRANCH}"
echo "apps.json sha256=${CACHE_BUST}"
$DOCKER build \
--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}:${IMAGE_TAG}" > dist/image-reference.txt
cat > dist/coolify-image.env <<EOF
CUSTOM_IMAGE=${REGISTRY_IMAGE}
CUSTOM_TAG=${IMAGE_TAG}
PULL_POLICY=always
EOF
echo "Built ${REGISTRY_IMAGE}:${IMAGE_TAG} and ${REGISTRY_IMAGE}:main"