erpnext/scripts/ci/jenkins-run.sh

52 lines
1.6 KiB
Bash
Executable file

#!/usr/bin/env bash
# erpnext Jenkins CI — revision 4
set -euo pipefail
echo "=== erpnext CI revision 4 ==="
echo "commit: $(git rev-parse --short HEAD 2>/dev/null || echo unknown)"
echo "workspace: ${PWD}"
chmod +x scripts/ci/*.sh
bash scripts/ci/ci-readiness.sh .
bash scripts/ci/validate-docker-compose.sh .
mkdir -p .ci-bin dist
if [ ! -x .ci-bin/docker ]; then
echo "Downloading docker CLI..."
curl -fsSL "https://download.docker.com/linux/static/stable/x86_64/docker-27.4.1.tgz" \
| tar xz --strip-components=1 -C .ci-bin docker/docker
chmod +x .ci-bin/docker
fi
if [ ! -x .ci-bin/docker-compose ]; then
echo "Downloading docker-compose..."
curl -fsSL "https://github.com/docker/compose/releases/download/v2.32.4/docker-compose-linux-x86_64" \
-o .ci-bin/docker-compose
chmod +x .ci-bin/docker-compose
fi
.ci-bin/docker version
.ci-bin/docker-compose version
DOCKER=./.ci-bin/docker
COMPOSE=./.ci-bin/docker-compose
if ! $DOCKER version >/dev/null 2>&1; then
if command -v sudo >/dev/null 2>&1 && sudo -n $DOCKER version >/dev/null 2>&1; then
DOCKER="sudo $DOCKER"
COMPOSE="sudo $COMPOSE"
else
echo "ERROR: Jenkins cannot access /var/run/docker.sock (permission denied)."
echo "Fix in Coolify: jenkins service needs user 0:0 or group_add matching host docker GID."
ls -la /var/run/docker.sock 2>/dev/null || true
id
exit 1
fi
fi
sed '/exclude_from_hc:/d' docker-compose.yml > dist/docker-compose.coolify.yml
$COMPOSE -f dist/docker-compose.coolify.yml config -q
VERSION="$(grep -E '^ERPNEXT_VERSION=' example.env | cut -d= -f2)"
$DOCKER pull "frappe/erpnext:${VERSION}"
echo "frappe/erpnext:${VERSION} OK"