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.
39 lines
1.2 KiB
Bash
Executable file
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"
|