From 368070e3ba0514d6dd23b795050d970c77023a18 Mon Sep 17 00:00:00 2001 From: epistemophiliac Date: Tue, 16 Jun 2026 18:27:43 -0400 Subject: [PATCH] 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. --- .gitignore | 2 ++ Jenkinsfile | 8 ++++++++ 2 files changed, 10 insertions(+) diff --git a/.gitignore b/.gitignore index f832522..4d2d361 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,5 @@ .env *.local .DS_Store +.ci-bin/ +dist/ diff --git a/Jenkinsfile b/Jenkinsfile index d6f20f7..b498e7f 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -25,6 +25,14 @@ pipeline { steps { sh ''' 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 sed '/exclude_from_hc:/d' docker-compose.yml > dist/docker-compose.coolify.yml docker compose -f dist/docker-compose.coolify.yml config -q