diff --git a/Jenkinsfile b/Jenkinsfile index f5355fa..5e50025 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -19,21 +19,22 @@ pipeline { stage('Build Image') { steps { script { - // Ensure the buildkit socket directory exists and is writable - sh "mkdir -p /run/buildkit && chmod 777 /run/buildkit" - - // Start buildkitd if it is not already running + // 1. Create the directories just in case + sh "mkdir -p /run/buildkit /run/buildkit-default" + sh "chmod 777 /run/buildkit /run/buildkit-default" + + // 2. Start buildkitd with the SPECIFIC socket name nerdctl is looking for sh """ if ! pgrep buildkitd > /dev/null; then - echo "Starting buildkitd daemon..." - # Start as root via sudo since it needs to manage network/mounts - nohup buildkitd --addr unix:///run/buildkit/buildkitd.sock > /tmp/buildkitd.log 2>&1 & - sleep 10 + echo "Starting buildkitd on the default socket..." + buildkitd --addr unix:///run/buildkit/buildkitd.sock --addr unix:///run/buildkit-default/buildkitd.sock > /tmp/buildkitd.log 2>&1 & + sleep 15 fi """ - // Run the build using the aliased docker (nerdctl) command - sh "docker build -t ${IMAGE_TAG} ." + // 3. Set the environment variable for this specific command + // This tells the nerdctl/docker wrapper exactly where to look. + sh "export BUILDKIT_HOST=unix:///run/buildkit/buildkitd.sock && docker build -t ${IMAGE_TAG} ." } } }