From 36748e719d02065b9fe88045b0b8741791913500 Mon Sep 17 00:00:00 2001 From: Nicolas Arenas Date: Tue, 2 Sep 2025 15:03:55 +0200 Subject: [PATCH 01/10] First Version of auto-package refs #2649 --- Jenkins/Jenkinsfile-deb-pkg | 107 ++++++++++++++++++++++++++++++++++++ 1 file changed, 107 insertions(+) create mode 100644 Jenkins/Jenkinsfile-deb-pkg diff --git a/Jenkins/Jenkinsfile-deb-pkg b/Jenkins/Jenkinsfile-deb-pkg new file mode 100644 index 0000000..f45a971 --- /dev/null +++ b/Jenkins/Jenkinsfile-deb-pkg @@ -0,0 +1,107 @@ +@Library('jenkins-shared-library') _ +pipeline { + agent { + label 'jenkins-slave' + } + environment { + DEBIAN_FRONTEND = 'noninteractive' + DEFAULT_DEV_NAME = 'Opengnsys Team' + DEFAULT_DEV_EMAIL = 'opengnsys@qindel.com' + } + options { + skipDefaultCheckout() + } + parameters { + string(name: 'DEV_NAME', defaultValue: '', description: 'Nombre del desarrollador') + string(name: 'DEV_EMAIL', defaultValue: '', description: 'Email del desarrollador') + } + stages { + stage('Prepare Workspace') { + steps { + script { + env.BUILD_DIR = "${WORKSPACE}/ogagent" + sh "mkdir -p ${env.BUILD_DIR}" + sh "mkdir -p ${env.BUILD_DIR}/debian" + } + } + } + + stage('Checkout') { + steps { + dir("${env.BUILD_DIR}") { + checkout scm + } + } + } + + stage('Generate Changelog') { + when { + expression { + return env.TAG_NAME != null + } + } + steps { + script { + def devName = params.DEV_NAME ? params.DEV_NAME : env.DEFAULT_DEV_NAME + def devEmail = params.DEV_EMAIL ? params.DEV_EMAIL : env.DEFAULT_DEV_EMAIL + + generateDebianChangelog(env.BUILD_DIR, devName, devEmail) + sh "cp ${env.BUILD_DIR}/debian/changelog ${env.BUILD_DIR}/linux/debian/" + } + } + } + stage('Generate Changelog (Nightly)'){ + when { + branch 'main' + } + steps { + script { + def devName = params.DEV_NAME ? params.DEV_NAME : env.DEFAULT_DEV_NAME + def devEmail = params.DEV_EMAIL ? params.DEV_EMAIL : env.DEFAULT_DEV_EMAIL + generateDebianChangelog(env.BUILD_DIR, devName, devEmail,'nightly') + sh "cp ${env.BUILD_DIR}/debian/changelog ${env.BUILD_DIR}/linux/debian/" + } + } + } + stage('Build') { + steps { + script { + construirPaquete("${env.BUILD_DIR}/linux", "../artifacts", "172.17.8.68", "/var/tmp/opengnsys/debian-repo/ogagent") + } + } + } + stage ('Publish to Debian Repository') { + when { + expression { + return env.TAG_NAME != null + } + } + agent { label 'debian-repo' } + steps { + script { + // Construir el patrón de versión esperado en el nombre del paquete + def versionPattern = "${env.TAG_NAME}-${env.BUILD_NUMBER}" + publicarEnAptly('/var/tmp/opengnsys/debian-repo/ogagent', 'opengnsys-devel', versionPattern) + } + } + } + stage ('Publish to Debian Repository (Nightly)') { + when { + branch 'main' + } + agent { label 'debian-repo' } + steps { + script { + // Construir el patrón de versión esperado en el nombre del paquete + def versionPattern = "-${env.BUILD_NUMBER}~nightly" + publicarEnAptly('/var/tmp/opengnsys/debian-repo/ogagent', 'nightly', versionPattern) + } + } + } + } + post { + always { + notifyBuildStatus('narenas@qindel.com') + } + } +} -- 2.40.1 From e3fed976e6adbfe0d15186fa8fe3f6f90c994899 Mon Sep 17 00:00:00 2001 From: Nicolas Arenas Date: Tue, 2 Sep 2025 16:22:42 +0200 Subject: [PATCH 02/10] refs #2659 Adds jenkins branch for testing --- Jenkins/Jenkinsfile-deb-pkg | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/Jenkins/Jenkinsfile-deb-pkg b/Jenkins/Jenkinsfile-deb-pkg index f45a971..8325cea 100644 --- a/Jenkins/Jenkinsfile-deb-pkg +++ b/Jenkins/Jenkinsfile-deb-pkg @@ -52,7 +52,10 @@ pipeline { } stage('Generate Changelog (Nightly)'){ when { - branch 'main' + anyOf { + branch 'main' + branch 'jenkins' + } } steps { script { @@ -66,6 +69,10 @@ pipeline { stage('Build') { steps { script { + sh """ + src/update.py + git checkout -- src/about-dialog.ui src/opengnsys/__init__.py + """ construirPaquete("${env.BUILD_DIR}/linux", "../artifacts", "172.17.8.68", "/var/tmp/opengnsys/debian-repo/ogagent") } } -- 2.40.1 From 7599e919866b3cccd1c756b3b0c97c6e0cdb8115 Mon Sep 17 00:00:00 2001 From: Nicolas Arenas Date: Tue, 2 Sep 2025 16:25:06 +0200 Subject: [PATCH 03/10] refs #2659 Adds jenkins branch for testing --- Jenkins/Jenkinsfile-deb-pkg | 1 + 1 file changed, 1 insertion(+) diff --git a/Jenkins/Jenkinsfile-deb-pkg b/Jenkins/Jenkinsfile-deb-pkg index 8325cea..6579c8a 100644 --- a/Jenkins/Jenkinsfile-deb-pkg +++ b/Jenkins/Jenkinsfile-deb-pkg @@ -70,6 +70,7 @@ pipeline { steps { script { sh """ + pwd src/update.py git checkout -- src/about-dialog.ui src/opengnsys/__init__.py """ -- 2.40.1 From a27ed86d0deab97cf5e6ef87db5d7311a7112f12 Mon Sep 17 00:00:00 2001 From: Nicolas Arenas Date: Tue, 2 Sep 2025 16:30:53 +0200 Subject: [PATCH 04/10] refs #2659 Adds jenkins branch for testing --- Jenkins/Jenkinsfile-deb-pkg | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/Jenkins/Jenkinsfile-deb-pkg b/Jenkins/Jenkinsfile-deb-pkg index 6579c8a..1ae9e2d 100644 --- a/Jenkins/Jenkinsfile-deb-pkg +++ b/Jenkins/Jenkinsfile-deb-pkg @@ -68,13 +68,14 @@ pipeline { } stage('Build') { steps { - script { - sh """ - pwd - src/update.py - git checkout -- src/about-dialog.ui src/opengnsys/__init__.py - """ + dir (${env.BUILD_DIR}) { + script { + sh """ + src/update.py + git checkout -- src/about-dialog.ui src/opengnsys/__init__.py + """ construirPaquete("${env.BUILD_DIR}/linux", "../artifacts", "172.17.8.68", "/var/tmp/opengnsys/debian-repo/ogagent") + } } } } -- 2.40.1 From 6875042372a829346e4407a43f8e438158c68fb5 Mon Sep 17 00:00:00 2001 From: Nicolas Arenas Date: Tue, 2 Sep 2025 16:31:50 +0200 Subject: [PATCH 05/10] refs #2659 Adds jenkins branch for testing --- Jenkins/Jenkinsfile-deb-pkg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkins/Jenkinsfile-deb-pkg b/Jenkins/Jenkinsfile-deb-pkg index 1ae9e2d..125f7d1 100644 --- a/Jenkins/Jenkinsfile-deb-pkg +++ b/Jenkins/Jenkinsfile-deb-pkg @@ -68,7 +68,7 @@ pipeline { } stage('Build') { steps { - dir (${env.BUILD_DIR}) { + dir ("${env.BUILD_DIR}") { script { sh """ src/update.py -- 2.40.1 From 468d9db14faa9812acefa22ce4aae1577f954f61 Mon Sep 17 00:00:00 2001 From: Nicolas Arenas Date: Tue, 2 Sep 2025 16:38:12 +0200 Subject: [PATCH 06/10] refs #2659 Adds jenkins branch for testing --- Jenkins/Jenkinsfile-deb-pkg | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Jenkins/Jenkinsfile-deb-pkg b/Jenkins/Jenkinsfile-deb-pkg index 125f7d1..4ee65e4 100644 --- a/Jenkins/Jenkinsfile-deb-pkg +++ b/Jenkins/Jenkinsfile-deb-pkg @@ -44,7 +44,6 @@ pipeline { script { def devName = params.DEV_NAME ? params.DEV_NAME : env.DEFAULT_DEV_NAME def devEmail = params.DEV_EMAIL ? params.DEV_EMAIL : env.DEFAULT_DEV_EMAIL - generateDebianChangelog(env.BUILD_DIR, devName, devEmail) sh "cp ${env.BUILD_DIR}/debian/changelog ${env.BUILD_DIR}/linux/debian/" } @@ -71,6 +70,10 @@ pipeline { dir ("${env.BUILD_DIR}") { script { sh """ + V=$(grep -E "^## \\[[0-9]+\\.[0-9]+\\.[0-9]+" changelog.md | head -1 | \ + sed -E "s/^## \\[([0-9]+\\.[0-9]+\\.[0-9]+[^\\]]*)\\].*/\\1/") + echo "V=$V" >src/VERSION + echo "✅ Versión extraída: $V" src/update.py git checkout -- src/about-dialog.ui src/opengnsys/__init__.py """ -- 2.40.1 From 4694bf6cddf82b42c655c20e7dbcd0e85cd3393e Mon Sep 17 00:00:00 2001 From: Nicolas Arenas Date: Tue, 2 Sep 2025 16:39:13 +0200 Subject: [PATCH 07/10] refs #2659 Adds jenkins branch for testing --- Jenkins/Jenkinsfile-deb-pkg | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Jenkins/Jenkinsfile-deb-pkg b/Jenkins/Jenkinsfile-deb-pkg index 4ee65e4..9a34b95 100644 --- a/Jenkins/Jenkinsfile-deb-pkg +++ b/Jenkins/Jenkinsfile-deb-pkg @@ -69,14 +69,14 @@ pipeline { steps { dir ("${env.BUILD_DIR}") { script { - sh """ + sh ''' V=$(grep -E "^## \\[[0-9]+\\.[0-9]+\\.[0-9]+" changelog.md | head -1 | \ sed -E "s/^## \\[([0-9]+\\.[0-9]+\\.[0-9]+[^\\]]*)\\].*/\\1/") echo "V=$V" >src/VERSION - echo "✅ Versión extraída: $V" + echo "Versión extraída: $V" src/update.py git checkout -- src/about-dialog.ui src/opengnsys/__init__.py - """ + ''' construirPaquete("${env.BUILD_DIR}/linux", "../artifacts", "172.17.8.68", "/var/tmp/opengnsys/debian-repo/ogagent") } } -- 2.40.1 From 9c34720d51fd473de07a2404d63b05ffe12ee88b Mon Sep 17 00:00:00 2001 From: Nicolas Arenas Date: Tue, 2 Sep 2025 16:40:01 +0200 Subject: [PATCH 08/10] refs #2659 Adds jenkins branch for testing --- Jenkins/Jenkinsfile-deb-pkg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkins/Jenkinsfile-deb-pkg b/Jenkins/Jenkinsfile-deb-pkg index 9a34b95..31e5975 100644 --- a/Jenkins/Jenkinsfile-deb-pkg +++ b/Jenkins/Jenkinsfile-deb-pkg @@ -70,7 +70,7 @@ pipeline { dir ("${env.BUILD_DIR}") { script { sh ''' - V=$(grep -E "^## \\[[0-9]+\\.[0-9]+\\.[0-9]+" changelog.md | head -1 | \ + V=$(grep -E "^## \\[[0-9]+\\.[0-9]+\\.[0-9]+" CHANGELOG.md | head -1 | \ sed -E "s/^## \\[([0-9]+\\.[0-9]+\\.[0-9]+[^\\]]*)\\].*/\\1/") echo "V=$V" >src/VERSION echo "Versión extraída: $V" -- 2.40.1 From 97a9818e157f9af474d5a3fd1d8cbf2ecacc230d Mon Sep 17 00:00:00 2001 From: Nicolas Arenas Date: Tue, 2 Sep 2025 16:48:37 +0200 Subject: [PATCH 09/10] refs #2659 Adds jenkins branch for testing --- Jenkins/Jenkinsfile-deb-pkg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkins/Jenkinsfile-deb-pkg b/Jenkins/Jenkinsfile-deb-pkg index 31e5975..191539f 100644 --- a/Jenkins/Jenkinsfile-deb-pkg +++ b/Jenkins/Jenkinsfile-deb-pkg @@ -71,7 +71,7 @@ pipeline { script { sh ''' V=$(grep -E "^## \\[[0-9]+\\.[0-9]+\\.[0-9]+" CHANGELOG.md | head -1 | \ - sed -E "s/^## \\[([0-9]+\\.[0-9]+\\.[0-9]+[^\\]]*)\\].*/\\1/") + sed 's/^## \[\([^]]*\)\].*/\1/' echo "V=$V" >src/VERSION echo "Versión extraída: $V" src/update.py -- 2.40.1 From e4057b4f18b29b107d1691ff996485a0cd91b7bb Mon Sep 17 00:00:00 2001 From: Nicolas Arenas Date: Tue, 2 Sep 2025 16:50:33 +0200 Subject: [PATCH 10/10] refs #2659 Adds jenkins branch for testing --- Jenkins/Jenkinsfile-deb-pkg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkins/Jenkinsfile-deb-pkg b/Jenkins/Jenkinsfile-deb-pkg index 191539f..d3a65a5 100644 --- a/Jenkins/Jenkinsfile-deb-pkg +++ b/Jenkins/Jenkinsfile-deb-pkg @@ -71,7 +71,7 @@ pipeline { script { sh ''' V=$(grep -E "^## \\[[0-9]+\\.[0-9]+\\.[0-9]+" CHANGELOG.md | head -1 | \ - sed 's/^## \[\([^]]*\)\].*/\1/' + cut -d'[' -f2 | cut -d']' -f1) echo "V=$V" >src/VERSION echo "Versión extraída: $V" src/update.py -- 2.40.1