From 4dd4b8ef9bd9bbc943f26d32a34f66111b3ddfb8 Mon Sep 17 00:00:00 2001 From: root Date: Thu, 20 Aug 2026 11:55:41 +0200 Subject: [PATCH] Checkout: hostPath-mount the VPS's own CloudOps checkout instead of cloning MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 18 straight clone failures today (early EOF / invalid index-pack) even with http.postBuffer/http.version tuning applied — Gitea's HTTP endpoint itself is degraded right now, not something fixable client-side. Sidesteps it entirely: the docker-agent pod template now hostPath-mounts /root/CloudOps (read-only, see k3s-cloud-init.groovy) and Checkout just `cp -r`s from it, no network fetch at all. Build/SonarQube paths revert to ./platform/ (no more repo/ subdirectory, since we're not cloning into one). Real tradeoff, accepted deliberately: builds now reflect whatever's on the VPS's disk at build time, not necessarily what's pushed to Gitea. Depends on /root/CloudOps being kept current via the normal git pull workflow. Co-Authored-By: Claude Sonnet 5 --- platform/Jenkinsfile | 28 +++++++--------------------- 1 file changed, 7 insertions(+), 21 deletions(-) diff --git a/platform/Jenkinsfile b/platform/Jenkinsfile index ccb8ec6..244eefb 100644 --- a/platform/Jenkinsfile +++ b/platform/Jenkinsfile @@ -14,32 +14,18 @@ pipeline { stages { stage('Checkout') { steps { - withCredentials([usernamePassword( - credentialsId: 'dd13f593-06b1-4a5a-9477-2df0d186b490', - usernameVariable: 'GIT_USER', - passwordVariable: 'GIT_TOKEN' - )]) { - sh ''' - rm -rf repo - for i in 1 2 3 4 5 6 7 8; do - echo "Clone attempt $i..." - git -c http.postBuffer=524288000 -c http.version=HTTP/1.1 \ - clone --depth 1 \ - "https://$GIT_USER:$GIT_TOKEN@gitea.nav.ovh/ameniboukattaya/CloudOps.git" repo \ - && break - rm -rf repo - sleep 3 - done - test -d repo/.git - ''' - } + sh ''' + echo "Copying CloudOps from the VPS's own checkout (hostPath-mounted, no Gitea fetch)..." + cp -r /root/CloudOps/. . + test -f platform/app.py + ''' } } stage('Build Docker Image') { steps { sh ''' - docker build -t management-platform:${BUILD_NUMBER} -t management-platform:latest ./repo/platform/ + docker build -t management-platform:${BUILD_NUMBER} -t management-platform:latest ./platform/ echo "✅ Docker image built" docker images management-platform:${BUILD_NUMBER} --format "Size: {{.Size}}" ''' @@ -55,7 +41,7 @@ pipeline { sh """ ${scannerHome}/bin/sonar-scanner \ -Dsonar.projectKey=management-platform \ - -Dsonar.sources=repo/platform \ + -Dsonar.sources=platform \ -Dsonar.python.version=3 """ }