Fix Jenkins compose smoke when docker CLI is missing

Bootstrap static docker binary in the pipeline; Jenkins has docker.sock
mounted but the official image does not ship the docker client.
This commit is contained in:
epistemophiliac 2026-06-16 18:27:43 -04:00
parent 08383b64bf
commit 368070e3ba
2 changed files with 10 additions and 0 deletions

2
.gitignore vendored
View file

@ -1,3 +1,5 @@
.env .env
*.local *.local
.DS_Store .DS_Store
.ci-bin/
dist/

8
Jenkinsfile vendored
View file

@ -25,6 +25,14 @@ pipeline {
steps { steps {
sh ''' sh '''
set -euo pipefail set -euo pipefail
if ! command -v docker >/dev/null 2>&1; then
echo "Installing static docker CLI (Jenkins image has socket, not binary)..."
mkdir -p .ci-bin
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
export PATH="$PWD/.ci-bin:$PATH"
fi
mkdir -p dist mkdir -p dist
sed '/exclude_from_hc:/d' docker-compose.yml > dist/docker-compose.coolify.yml sed '/exclude_from_hc:/d' docker-compose.yml > dist/docker-compose.coolify.yml
docker compose -f dist/docker-compose.coolify.yml config -q docker compose -f dist/docker-compose.coolify.yml config -q