From 3886e3f1a04d3d819d1f935cf87c44114239d26c Mon Sep 17 00:00:00 2001 From: jose-rZM <100773386+jose-rZM@users.noreply.github.com> Date: Thu, 18 Dec 2025 17:56:43 +0100 Subject: [PATCH 01/13] Use two different jenkinsfile --- Jenkinsfile | 185 --------------------------------------------- Jenkinsfile.cd | 199 +++++++++++++++++++++++++++++++++++++++++++++++++ Jenkinsfile.ci | 89 ++++++++++++++++++++++ 3 files changed, 288 insertions(+), 185 deletions(-) delete mode 100644 Jenkinsfile create mode 100644 Jenkinsfile.cd create mode 100644 Jenkinsfile.ci diff --git a/Jenkinsfile b/Jenkinsfile deleted file mode 100644 index a70b6fc..0000000 --- a/Jenkinsfile +++ /dev/null @@ -1,185 +0,0 @@ -pipeline { - agent none - - options { - timestamps() - } - - environment { - CI = 'true' - NODE_OPTIONS = '--max_old_space_size=2048' - APP_VERSION = "1.0.${BUILD_NUMBER}" - DOCKER_BUILDKIT = '1' - } - - stages { - - stage('Init') { - agent any - steps { - script { - env.COMMIT_AUTHOR = sh( - script: "git show -s --format=%an HEAD", - returnStdout: true - ).trim() - - env.COMMIT_SHORT = sh( - script: "git rev-parse --short HEAD", - returnStdout: true - ).trim() - } - } - } - - stage('Backend: lint & test') { - agent { - docker { - image 'python:3.11-slim' - args '-u root' - } - } - steps { - dir('backend') { - sh ''' - set -e - python -m venv .venv - . .venv/bin/activate - pip install --upgrade pip - pip install -r requirements-dev.txt - ruff check app tests - pytest - ''' - } - } - } - - stage('Frontend: check & build') { - agent { - docker { - image 'node:20-slim' - } - } - steps { - dir('frontend') { - sh ''' - set -e - npm install --no-progress --no-audit --prefer-offline - npm run check - npm run build - ''' - } - } - } - - stage('Docker: build images') { - agent any - steps { - sh ''' - set -e - - docker build \ - --build-arg APP_VERSION=${APP_VERSION} \ - --build-arg GIT_COMMIT=${COMMIT_SHORT} \ - --build-arg COMMIT_AUTHOR="${COMMIT_AUTHOR}" \ - --build-arg BUILD_NUMBER=${BUILD_NUMBER} \ - -t cafeteria-backend:latest \ - -t cafeteria-backend:${BUILD_NUMBER} \ - ./backend - - docker build \ - -t cafeteria-frontend:latest \ - -t cafeteria-frontend:${BUILD_NUMBER} \ - ./frontend - ''' - } - } - - stage('Deploy frontend & backend') { - when { - branch 'main' - } - - agent any - environment { - JENKINS_BASE_URL = 'http://jenkins:8080' - JENKINS_JOB_NAME = 'Espetos' - } - steps { - withCredentials([ - usernamePassword( - credentialsId: 'jenkins-api-token', - usernameVariable: 'JENKINS_USER', - passwordVariable: 'JENKINS_TOKEN' - ) - ]) { - sh ''' - set -e - - : "${BACKEND_PORT:?Missing BACKEND_PORT}" - : "${BACKEND_HEALTH_URL:?Missing BACKEND_HEALTH_URL}" - : "${FRONTEND_PORT:?Missing FRONTEND_PORT}" - : "${FRONTEND_HEALTH_URL:?Missing FRONTEND_HEALTH_URL}" - - - # Backend - docker tag cafeteria-backend:latest cafeteria-backend:previous || true - docker rm -f cafeteria-backend 2>/dev/null || true - - docker run -d \ - --name cafeteria-backend \ - -p "$BACKEND_PORT":"$BACKEND_PORT" \ - cafeteria-backend:latest - - sleep 5 - - if ! curl -fs "$BACKEND_HEALTH_URL"; then - echo "Backend failed, rollback" - docker rm -f cafeteria-backend - docker run -d \ - --name cafeteria-backend \ - --network ci-net \ - -e JENKINS_BASE_URL \ - -e JENKINS_JOB_NAME \ - -e JENKINS_USER \ - -e JENKINS_TOKEN \ - -p "$BACKEND_PORT":"$BACKEND_PORT" \ - cafeteria-backend:previous - exit 1 - fi - - # Frontend - docker tag cafeteria-frontend:latest cafeteria-frontend:previous || true - docker rm -f cafeteria-frontend 2>/dev/null || true - - docker run -d \ - --name cafeteria-frontend \ - -p "$FRONTEND_PORT":80 \ - cafeteria-frontend:latest - - sleep 3 - - if ! curl -fs "$FRONTEND_HEALTH_URL"; then - echo "Frontend failed, rollback" - docker rm -f cafeteria-frontend - docker run -d \ - --name cafeteria-frontend \ - -p "$FRONTEND_PORT":80 \ - cafeteria-frontend:previous - exit 1 - fi - ''' - } - } - } - } - - post { - always { - sh ''' - docker image prune -a -f || true - docker builder prune -a -f || true - ''' - cleanWs() - } - } -} diff --git a/Jenkinsfile.cd b/Jenkinsfile.cd new file mode 100644 index 0000000..ee5eeba --- /dev/null +++ b/Jenkinsfile.cd @@ -0,0 +1,199 @@ +pipeline { + agent none + + options { + timestamps() + } + + environment { + NODE_OPTIONS = '--max_old_space_size=2048' + APP_VERSION = "1.0.${BUILD_NUMBER}" + DOCKER_BUILDKIT = '1' + } + + stages { + + stage('Init') { + agent any + when { + branch 'main' + } + steps { + script { + env.COMMIT_AUTHOR = sh( + script: "git show -s --format=%an HEAD", + returnStdout: true + ).trim() + + env.COMMIT_SHORT = sh( + script: "git rev-parse --short HEAD", + returnStdout: true + ).trim() + } + + echo "CD deploy for main (${env.COMMIT_SHORT})" + } + } + + /* ========================= + TESTS + ========================= */ + + stage('Backend: test (main)') { + when { + branch 'main' + } + agent { + docker { + image 'python:3.11-slim' + args '-u root' + } + } + steps { + dir('backend') { + sh ''' + set -e + python -m venv .venv + . .venv/bin/activate + pip install --upgrade pip + pip install -r requirements-dev.txt + pytest + ''' + } + } + } + + stage('Frontend: build (main)') { + when { + branch 'main' + } + agent { + docker { + image 'node:20-slim' + } + } + steps { + dir('frontend') { + sh ''' + set -e + npm install --no-progress --no-audit --prefer-offline + npm run build + ''' + } + } + } + + /* ========================= + DOCKER BUILD + ========================= */ + + stage('Docker: build images') { + when { + branch 'main' + } + agent any + steps { + sh ''' + set -e + + docker build \ + --build-arg APP_VERSION=${APP_VERSION} \ + --build-arg GIT_COMMIT=${COMMIT_SHORT} \ + --build-arg COMMIT_AUTHOR="${COMMIT_AUTHOR}" \ + --build-arg BUILD_NUMBER=${BUILD_NUMBER} \ + -t cafeteria-backend:${BUILD_NUMBER} \ + -t cafeteria-backend:latest \ + ./backend + + docker build \ + -t cafeteria-frontend:${BUILD_NUMBER} \ + -t cafeteria-frontend:latest \ + ./frontend + ''' + } + } + + /* ========================= + DEPLOY + ========================= */ + + stage('Deploy frontend & backend') { + when { + branch 'main' + } + agent any + environment { + JENKINS_BASE_URL = 'http://jenkins:8080' + JENKINS_JOB_NAME = 'Espetos' + } + steps { + withCredentials([ + usernamePassword( + credentialsId: 'jenkins-api-token', + usernameVariable: 'JENKINS_USER', + passwordVariable: 'JENKINS_TOKEN' + ) + ]) { + sh ''' + set -e + + : "${BACKEND_PORT:?Missing BACKEND_PORT}" + : "${BACKEND_HEALTH_URL:?Missing BACKEND_HEALTH_URL}" + : "${FRONTEND_PORT:?Missing FRONTEND_PORT}" + : "${FRONTEND_HEALTH_URL:?Missing FRONTEND_HEALTH_URL}" + + echo "Deploying backend ${BUILD_NUMBER}" + + docker tag cafeteria-backend:latest cafeteria-backend:previous || true + docker rm -f cafeteria-backend 2>/dev/null || true + + docker run -d \ + --name cafeteria-backend \ + -p "$BACKEND_PORT":"$BACKEND_PORT" \ + cafeteria-backend:latest + + sleep 5 + + if ! curl -fs "$BACKEND_HEALTH_URL"; then + echo "Backend failed, rolling back" + docker rm -f cafeteria-backend + docker run -d \ + --name cafeteria-backend \ + -p "$BACKEND_PORT":"$BACKEND_PORT" \ + cafeteria-backend:previous + exit 1 + fi + + echo "Deploying frontend ${BUILD_NUMBER}" + + docker tag cafeteria-frontend:latest cafeteria-frontend:previous || true + docker rm -f cafeteria-frontend 2>/dev/null || true + + docker run -d \ + --name cafeteria-frontend \ + -p "$FRONTEND_PORT":80 \ + cafeteria-frontend:latest + + sleep 3 + + if ! curl -fs "$FRONTEND_HEALTH_URL"; then + echo "Frontend failed, rolling back" + docker rm -f cafeteria-frontend + docker run -d \ + --name cafeteria-frontend \ + -p "$FRONTEND_PORT":80 \ + cafeteria-frontend:previous + exit 1 + fi + ''' + } + } + } + } + + post { + always { + cleanWs() + } + } +} diff --git a/Jenkinsfile.ci b/Jenkinsfile.ci new file mode 100644 index 0000000..1a51457 --- /dev/null +++ b/Jenkinsfile.ci @@ -0,0 +1,89 @@ +pipeline { + agent none + + options { + timestamps() + } + + environment { + NODE_OPTIONS = '--max_old_space_size=2048' + } + + stages { + + stage('Init') { + agent any + steps { + script { + env.COMMIT_AUTHOR = sh( + script: "git show -s --format=%an HEAD", + returnStdout: true + ).trim() + + env.COMMIT_SHORT = sh( + script: "git rev-parse --short HEAD", + returnStdout: true + ).trim() + } + + echo "CI build for commit ${env.COMMIT_SHORT} by ${env.COMMIT_AUTHOR}" + } + } + + /* ========================= + BACKEND CI + ========================= */ + + stage('Backend: lint & test') { + agent { + docker { + image 'python:3.11-slim' + args '-u root' + } + } + steps { + dir('backend') { + sh ''' + set -e + python -m venv .venv + . .venv/bin/activate + pip install --upgrade pip + pip install -r requirements-dev.txt + ruff check app tests + pytest + ''' + } + } + } + + /* ========================= + FRONTEND CI + ========================= */ + + stage('Frontend: check & build') { + agent { + docker { + image 'node:20-slim' + } + } + steps { + dir('frontend') { + sh ''' + set -e + npm install --no-progress --no-audit --prefer-offline + npm run check + npm run build + ''' + } + } + } + + + } + + post { + always { + cleanWs() + } + } +} -- 2.34.1 From 6de3411fb5da81559d4e57ab1222356a5d7879da Mon Sep 17 00:00:00 2001 From: jose-rZM <100773386+jose-rZM@users.noreply.github.com> Date: Sat, 20 Dec 2025 18:18:29 +0100 Subject: [PATCH 02/13] Add Jenkins setup --- jenkins/Dockerfile.jenkins | 12 ++++++++++++ jenkins/jenkins-compose.yml | 26 ++++++++++++++++++++++++++ 2 files changed, 38 insertions(+) create mode 100644 jenkins/Dockerfile.jenkins create mode 100644 jenkins/jenkins-compose.yml diff --git a/jenkins/Dockerfile.jenkins b/jenkins/Dockerfile.jenkins new file mode 100644 index 0000000..b672f76 --- /dev/null +++ b/jenkins/Dockerfile.jenkins @@ -0,0 +1,12 @@ +FROM jenkins/jenkins:lts + +USER root + +RUN apt-get update \ + && apt-get install -y docker.io curl \ + && curl -L https://github.com/docker/compose/releases/download/v2.27.0/docker-compose-linux-x86_64 \ + -o /usr/local/bin/docker-compose \ + && chmod +x /usr/local/bin/docker-compose \ + && rm -rf /var/lib/apt/lists/* + +USER jenkins diff --git a/jenkins/jenkins-compose.yml b/jenkins/jenkins-compose.yml new file mode 100644 index 0000000..dbe24e9 --- /dev/null +++ b/jenkins/jenkins-compose.yml @@ -0,0 +1,26 @@ +version: "3.9" + +services: + jenkins: + build: + context: . + dockerfile: Dockerfile.jenkins + container_name: jenkins + ports: + - "8080:8080" + - "50000:50000" + volumes: + - jenkins_home:/var/jenkins_home + - /var/run/docker.sock:/var/run/docker.sock + group_add: + - "${DOCKER_GID}" + networks: + - ci-net + restart: unless-stopped + +volumes: + jenkins_home: + +networks: + ci-net: + external: true -- 2.34.1 From c4b9481b1c3f8d5f83588f8245430e8453cc4911 Mon Sep 17 00:00:00 2001 From: jose-rZM <100773386+jose-rZM@users.noreply.github.com> Date: Sat, 20 Dec 2025 18:18:41 +0100 Subject: [PATCH 03/13] Use docker compose --- Jenkinsfile.cd | 50 ++++------------------------------------------ docker-compose.yml | 39 ++++++++++++++++++++++++++++++++++++ 2 files changed, 43 insertions(+), 46 deletions(-) create mode 100644 docker-compose.yml diff --git a/Jenkinsfile.cd b/Jenkinsfile.cd index ee5eeba..5a0532c 100644 --- a/Jenkinsfile.cd +++ b/Jenkinsfile.cd @@ -117,7 +117,7 @@ pipeline { DEPLOY ========================= */ - stage('Deploy frontend & backend') { + stage('Deploy (docker compose)') { when { branch 'main' } @@ -137,54 +137,12 @@ pipeline { sh ''' set -e - : "${BACKEND_PORT:?Missing BACKEND_PORT}" - : "${BACKEND_HEALTH_URL:?Missing BACKEND_HEALTH_URL}" - : "${FRONTEND_PORT:?Missing FRONTEND_PORT}" - : "${FRONTEND_HEALTH_URL:?Missing FRONTEND_HEALTH_URL}" - echo "Deploying backend ${BUILD_NUMBER}" - docker tag cafeteria-backend:latest cafeteria-backend:previous || true - docker rm -f cafeteria-backend 2>/dev/null || true + echo "BACKEND_TAG=${BUILD_NUMBER}" > .env + echo "FRONTEND_TAG=${BUILD_NUMBER}" >> .env - docker run -d \ - --name cafeteria-backend \ - -p "$BACKEND_PORT":"$BACKEND_PORT" \ - cafeteria-backend:latest - - sleep 5 - - if ! curl -fs "$BACKEND_HEALTH_URL"; then - echo "Backend failed, rolling back" - docker rm -f cafeteria-backend - docker run -d \ - --name cafeteria-backend \ - -p "$BACKEND_PORT":"$BACKEND_PORT" \ - cafeteria-backend:previous - exit 1 - fi - - echo "Deploying frontend ${BUILD_NUMBER}" - - docker tag cafeteria-frontend:latest cafeteria-frontend:previous || true - docker rm -f cafeteria-frontend 2>/dev/null || true - - docker run -d \ - --name cafeteria-frontend \ - -p "$FRONTEND_PORT":80 \ - cafeteria-frontend:latest - - sleep 3 - - if ! curl -fs "$FRONTEND_HEALTH_URL"; then - echo "Frontend failed, rolling back" - docker rm -f cafeteria-frontend - docker run -d \ - --name cafeteria-frontend \ - -p "$FRONTEND_PORT":80 \ - cafeteria-frontend:previous - exit 1 - fi + docker compose up -d ''' } } diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..9d20851 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,39 @@ +version: "3.9" + +services: + backend: + build: + context: ./backend + image: cafeteria-backend:${BACKEND_TAG} + container_name: cafeteria-backend + ports: + - "8000:8000" + environment: + - JENKINS_BASE_URL: ${JENKINS_BASE_URL} + - JENKINS_JOB_NAME: ${JENKINS_JOB_NAME} + - JENKINS_USER: ${JENKINS_USER} + - JENKINS_TOKEN: ${JENKINS_TOKEN} + restart: unless-stopped + healthcheck: + test: + [ + "CMD", + "python", + "-c", + "import urllib.request; urllib.request.urlopen('http://localhost:8000/health').read()" + ] + interval: 10s + timeout: 3s + retries: 5 + + frontend: + build: + context: ./frontend + image: cafeteria-frontend:${fRONTEND_TAG} + container_name: cafeteria-frontend + ports: + - "80:80" + depends_on: + backend: + condition: service_healthy + restart: unless-stopped -- 2.34.1 From e7d01b11300554e8d344117cad3419dfec6eb6e0 Mon Sep 17 00:00:00 2001 From: jose-rZM <100773386+jose-rZM@users.noreply.github.com> Date: Sat, 20 Dec 2025 18:26:25 +0100 Subject: [PATCH 04/13] Fix typo --- docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index 9d20851..1cfda3a 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -29,7 +29,7 @@ services: frontend: build: context: ./frontend - image: cafeteria-frontend:${fRONTEND_TAG} + image: cafeteria-frontend:${FRONTEND_TAG} container_name: cafeteria-frontend ports: - "80:80" -- 2.34.1 From 0e31fb2c16efdc24da6f57d1344a1de8f79d1cf0 Mon Sep 17 00:00:00 2001 From: jose-rZM <100773386+jose-rZM@users.noreply.github.com> Date: Sat, 20 Dec 2025 18:27:04 +0100 Subject: [PATCH 05/13] Remove container name property to avoid collisions --- docker-compose.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 1cfda3a..3a5e2a9 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -5,7 +5,6 @@ services: build: context: ./backend image: cafeteria-backend:${BACKEND_TAG} - container_name: cafeteria-backend ports: - "8000:8000" environment: @@ -30,7 +29,6 @@ services: build: context: ./frontend image: cafeteria-frontend:${FRONTEND_TAG} - container_name: cafeteria-frontend ports: - "80:80" depends_on: -- 2.34.1 From df6d68c8a0a2095d7d732bce12344c85772ad5b4 Mon Sep 17 00:00:00 2001 From: jose-rZM <100773386+jose-rZM@users.noreply.github.com> Date: Sat, 20 Dec 2025 18:33:35 +0100 Subject: [PATCH 06/13] Add node --- Jenkinsfile.ci | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Jenkinsfile.ci b/Jenkinsfile.ci index 1a51457..54600f1 100644 --- a/Jenkinsfile.ci +++ b/Jenkinsfile.ci @@ -83,7 +83,9 @@ pipeline { post { always { - cleanWs() + node { + cleanWs() + } } } } -- 2.34.1 From 1474ae18850557af901c705c017c79c5aa5c39fb Mon Sep 17 00:00:00 2001 From: jose-rZM <100773386+jose-rZM@users.noreply.github.com> Date: Sat, 20 Dec 2025 18:35:38 +0100 Subject: [PATCH 07/13] Add node name --- Jenkinsfile.ci | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile.ci b/Jenkinsfile.ci index 54600f1..c1f2c44 100644 --- a/Jenkinsfile.ci +++ b/Jenkinsfile.ci @@ -83,7 +83,7 @@ pipeline { post { always { - node { + node('principal') { cleanWs() } } -- 2.34.1 From 48263e6f018c919d73f61f3a9b69d0931eef9846 Mon Sep 17 00:00:00 2001 From: jose-rZM <100773386+jose-rZM@users.noreply.github.com> Date: Sat, 20 Dec 2025 18:45:02 +0100 Subject: [PATCH 08/13] Delete unused network --- jenkins/jenkins-compose.yml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/jenkins/jenkins-compose.yml b/jenkins/jenkins-compose.yml index dbe24e9..684fc56 100644 --- a/jenkins/jenkins-compose.yml +++ b/jenkins/jenkins-compose.yml @@ -14,13 +14,8 @@ services: - /var/run/docker.sock:/var/run/docker.sock group_add: - "${DOCKER_GID}" - networks: - - ci-net restart: unless-stopped volumes: jenkins_home: -networks: - ci-net: - external: true -- 2.34.1 From ef1f4aed711a5351d01b2f2d3d1179723cac4cda Mon Sep 17 00:00:00 2001 From: jose-rZM <100773386+jose-rZM@users.noreply.github.com> Date: Sat, 20 Dec 2025 18:51:38 +0100 Subject: [PATCH 09/13] Remove build step --- Jenkinsfile.cd | 53 ++++++++++++-------------------------------------- 1 file changed, 12 insertions(+), 41 deletions(-) diff --git a/Jenkinsfile.cd b/Jenkinsfile.cd index 5a0532c..58a254c 100644 --- a/Jenkinsfile.cd +++ b/Jenkinsfile.cd @@ -13,28 +13,6 @@ pipeline { stages { - stage('Init') { - agent any - when { - branch 'main' - } - steps { - script { - env.COMMIT_AUTHOR = sh( - script: "git show -s --format=%an HEAD", - returnStdout: true - ).trim() - - env.COMMIT_SHORT = sh( - script: "git rev-parse --short HEAD", - returnStdout: true - ).trim() - } - - echo "CD deploy for main (${env.COMMIT_SHORT})" - } - } - /* ========================= TESTS ========================= */ @@ -63,25 +41,6 @@ pipeline { } } - stage('Frontend: build (main)') { - when { - branch 'main' - } - agent { - docker { - image 'node:20-slim' - } - } - steps { - dir('frontend') { - sh ''' - set -e - npm install --no-progress --no-audit --prefer-offline - npm run build - ''' - } - } - } /* ========================= DOCKER BUILD @@ -92,7 +51,19 @@ pipeline { branch 'main' } agent any + steps { + script { + env.COMMIT_SHORT = sh( + script: "git rev-parse --short HEAD", + returnStdout: true + ).trim() + env.COMMIT_AUTHOR = sh( + script: "git show -s --format=%an HEAD", + returnStdout: true + ).trim() + } + sh ''' set -e -- 2.34.1 From 256f1073da23bf95461645355afcf403a2ad2cbe Mon Sep 17 00:00:00 2001 From: jose-rZM <100773386+jose-rZM@users.noreply.github.com> Date: Sat, 20 Dec 2025 18:52:28 +0100 Subject: [PATCH 10/13] Add node name --- Jenkinsfile.cd | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Jenkinsfile.cd b/Jenkinsfile.cd index 58a254c..a59130b 100644 --- a/Jenkinsfile.cd +++ b/Jenkinsfile.cd @@ -122,7 +122,9 @@ pipeline { post { always { - cleanWs() + node('principal') { + cleanWs() + } } } } -- 2.34.1 From fc1a8d8ac9ae0a893b823deda2ccdd1447e37d3e Mon Sep 17 00:00:00 2001 From: jose-rZM <100773386+jose-rZM@users.noreply.github.com> Date: Sat, 20 Dec 2025 18:58:29 +0100 Subject: [PATCH 11/13] Add cleanup stage --- Jenkinsfile.cd | 8 ++++---- Jenkinsfile.ci | 9 +++------ 2 files changed, 7 insertions(+), 10 deletions(-) diff --git a/Jenkinsfile.cd b/Jenkinsfile.cd index a59130b..70b0345 100644 --- a/Jenkinsfile.cd +++ b/Jenkinsfile.cd @@ -118,13 +118,13 @@ pipeline { } } } - } - post { - always { - node('principal') { + stage('Cleanup') { + agent any + steps { cleanWs() } } } + } diff --git a/Jenkinsfile.ci b/Jenkinsfile.ci index c1f2c44..fac7695 100644 --- a/Jenkinsfile.ci +++ b/Jenkinsfile.ci @@ -78,12 +78,9 @@ pipeline { } } - - } - - post { - always { - node('principal') { + stage('Cleanup') { + agent any + steps { cleanWs() } } -- 2.34.1 From de9c135d4dc80c873bc626d1bc10e0bf20c46244 Mon Sep 17 00:00:00 2001 From: jose-rZM <100773386+jose-rZM@users.noreply.github.com> Date: Sat, 20 Dec 2025 19:14:26 +0100 Subject: [PATCH 12/13] Update env vars --- docker-compose.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 3a5e2a9..f472cd9 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -8,10 +8,10 @@ services: ports: - "8000:8000" environment: - - JENKINS_BASE_URL: ${JENKINS_BASE_URL} - - JENKINS_JOB_NAME: ${JENKINS_JOB_NAME} - - JENKINS_USER: ${JENKINS_USER} - - JENKINS_TOKEN: ${JENKINS_TOKEN} + JENKINS_BASE_URL: ${JENKINS_BASE_URL} + JENKINS_JOB_NAME: ${JENKINS_JOB_NAME} + JENKINS_USER: ${JENKINS_USER} + JENKINS_TOKEN: ${JENKINS_TOKEN} restart: unless-stopped healthcheck: test: -- 2.34.1 From 51e34ab8b89c9634e3d662c14d4032a799dce9e2 Mon Sep 17 00:00:00 2001 From: jose-rZM <100773386+jose-rZM@users.noreply.github.com> Date: Sun, 21 Dec 2025 12:22:39 +0100 Subject: [PATCH 13/13] Remove version --- jenkins/jenkins-compose.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/jenkins/jenkins-compose.yml b/jenkins/jenkins-compose.yml index 684fc56..f8b24af 100644 --- a/jenkins/jenkins-compose.yml +++ b/jenkins/jenkins-compose.yml @@ -1,5 +1,3 @@ -version: "3.9" - services: jenkins: build: -- 2.34.1