From c41ca6e8ced1adc14821bdcf3f309e94bcc98569 Mon Sep 17 00:00:00 2001 From: Nicolas Arenas Date: Mon, 17 Mar 2025 16:40:22 +0100 Subject: [PATCH 01/13] Add Jenkinsfile to build deb pkg --- Jenkins/Jenkinsfile-deb-pkg | 49 +++++++++++++++++++++++++++++++++++++ 1 file changed, 49 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..25cea2e --- /dev/null +++ b/Jenkins/Jenkinsfile-deb-pkg @@ -0,0 +1,49 @@ +pipeline { + agent { + label 'jenkins-slave' + } + environment { + DEBIAN_FRONTEND = 'noninteractive' + } + options { + skipDefaultCheckout() + } + stages { + stage('Prepare Workspace') { + steps { + script { + env.BUILD_DIR = "${WORKSPACE}/ogcore" + sh "mkdir -p ${env.BUILD_DIR}" + } + } + } + stage('Checkout') { + steps { + dir("${env.BUILD_DIR}") { + checkout scm + } + } + } + stage('Build') { + steps { + dir("${env.BUILD_DIR}") { + sh ''' + composer require symfony/flex + dpkg-buildpackage -us -uc + mkdir -p ../artifacts && mv ../*.deb ../*.changes ../*.buildinfo ../artifacts/ + ssh aptly@172.17.8.68 "rm -rf /var/tmp/opengnsys/debian-repo && mkdir -p /var/tmp/opengnsys/debian-repo" + scp -r ../artifacts/* aptly@172.17.8.68:/var/tmp/opengnsys/debian-repo/ + ''' + } + + } + } + stage ('Publish to Debian Repository') { + agent { label 'debian-repo' } + steps { + sh "aptly repo add opengnsys-devel /var/tmp/opengnsys/debian-repo/*.deb" + } + } + } +} + -- 2.40.1 From df1c42feec3b278e432cf38be6b74ca8a33ea903 Mon Sep 17 00:00:00 2001 From: Nicolas Arenas Date: Mon, 17 Mar 2025 17:37:32 +0100 Subject: [PATCH 02/13] Test packagin in Jenkins --- debian/changelog | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/debian/changelog b/debian/changelog index 4163d19..ecbbe3d 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -oggui (1.0.1+deb-pkg20250310-1) unstable; urgency=medium +oggui (0.0.1-1) unstable; urgency=medium * Add debian files * Update .gitignore -- 2.40.1 From eedc6cb59d8b756a7aab63eb667fbaa71554c76e Mon Sep 17 00:00:00 2001 From: Nicolas Arenas Date: Mon, 17 Mar 2025 17:41:18 +0100 Subject: [PATCH 03/13] FIxes Jnskinsfile --- Jenkins/Jenkinsfile-deb-pkg | 1 - 1 file changed, 1 deletion(-) diff --git a/Jenkins/Jenkinsfile-deb-pkg b/Jenkins/Jenkinsfile-deb-pkg index 25cea2e..804ef2e 100644 --- a/Jenkins/Jenkinsfile-deb-pkg +++ b/Jenkins/Jenkinsfile-deb-pkg @@ -28,7 +28,6 @@ pipeline { steps { dir("${env.BUILD_DIR}") { sh ''' - composer require symfony/flex dpkg-buildpackage -us -uc mkdir -p ../artifacts && mv ../*.deb ../*.changes ../*.buildinfo ../artifacts/ ssh aptly@172.17.8.68 "rm -rf /var/tmp/opengnsys/debian-repo && mkdir -p /var/tmp/opengnsys/debian-repo" -- 2.40.1 From 7bf25a86c80b2b055c1c1a6dab38cc5fb74bdab6 Mon Sep 17 00:00:00 2001 From: Nicolas Arenas Date: Mon, 17 Mar 2025 19:20:58 +0100 Subject: [PATCH 04/13] Use shared library --- Jenkins/Jenkinsfile-deb-pkg | 30 ++++++++++++++++++++---------- 1 file changed, 20 insertions(+), 10 deletions(-) diff --git a/Jenkins/Jenkinsfile-deb-pkg b/Jenkins/Jenkinsfile-deb-pkg index 804ef2e..981fb53 100644 --- a/Jenkins/Jenkinsfile-deb-pkg +++ b/Jenkins/Jenkinsfile-deb-pkg @@ -1,3 +1,4 @@ +@Library('jenkins-shared-library') _ pipeline { agent { label 'jenkins-slave' @@ -12,11 +13,12 @@ pipeline { stage('Prepare Workspace') { steps { script { - env.BUILD_DIR = "${WORKSPACE}/ogcore" + env.BUILD_DIR = "${WORKSPACE}/oggui" sh "mkdir -p ${env.BUILD_DIR}" } } } + stage('Checkout') { steps { dir("${env.BUILD_DIR}") { @@ -24,6 +26,15 @@ pipeline { } } } + + stage('Generate Changelog') { + steps { + script { + generateDebianChangelog(env.BUILD_DIR) + } + } + } + stage('Build') { steps { dir("${env.BUILD_DIR}") { @@ -34,15 +45,14 @@ pipeline { scp -r ../artifacts/* aptly@172.17.8.68:/var/tmp/opengnsys/debian-repo/ ''' } - } } - stage ('Publish to Debian Repository') { - agent { label 'debian-repo' } - steps { - sh "aptly repo add opengnsys-devel /var/tmp/opengnsys/debian-repo/*.deb" - } - } - } -} + // stage ('Publish to Debian Repository') { + // agent { label 'debian-repo' } + // steps { + // sh "aptly repo add opengnsys-devel /var/tmp/opengnsys/debian-repo/*.deb" + // } + // } + } +} \ No newline at end of file -- 2.40.1 From 74ef13906dd0297ae7205f667383e55011a1963a Mon Sep 17 00:00:00 2001 From: Nicolas Arenas Date: Mon, 17 Mar 2025 19:48:17 +0100 Subject: [PATCH 05/13] Add parameters for changelog mantainers --- Jenkins/Jenkinsfile-deb-pkg | 28 ++++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/Jenkins/Jenkinsfile-deb-pkg b/Jenkins/Jenkinsfile-deb-pkg index 981fb53..d17e9e2 100644 --- a/Jenkins/Jenkinsfile-deb-pkg +++ b/Jenkins/Jenkinsfile-deb-pkg @@ -1,14 +1,19 @@ -@Library('jenkins-shared-library') _ pipeline { agent { label 'jenkins-slave' } environment { DEBIAN_FRONTEND = 'noninteractive' + DEFAULT_DEV_NAME = 'Default Developer' + DEFAULT_DEV_EMAIL = 'default@email.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 { @@ -30,7 +35,10 @@ pipeline { stage('Generate Changelog') { steps { script { - generateDebianChangelog(env.BUILD_DIR) + 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) } } } @@ -47,12 +55,12 @@ pipeline { } } } - - // stage ('Publish to Debian Repository') { - // agent { label 'debian-repo' } - // steps { - // sh "aptly repo add opengnsys-devel /var/tmp/opengnsys/debian-repo/*.deb" - // } - // } } -} \ No newline at end of file +} +// stage ('Publish to Debian Repository') { +// agent { label 'debian-repo' } +// steps { +// sh "aptly repo add opengnsys-devel /var/tmp/opengnsys/debian-repo/*.deb" +// } +// } + -- 2.40.1 From ca1a4d0fc2e1f30b4d1683cc06b78918fb42f446 Mon Sep 17 00:00:00 2001 From: Nicolas Arenas Date: Mon, 17 Mar 2025 19:50:13 +0100 Subject: [PATCH 06/13] Add parameters for changelog mantainers --- Jenkins/Jenkinsfile-deb-pkg | 1 + 1 file changed, 1 insertion(+) diff --git a/Jenkins/Jenkinsfile-deb-pkg b/Jenkins/Jenkinsfile-deb-pkg index d17e9e2..f98dab5 100644 --- a/Jenkins/Jenkinsfile-deb-pkg +++ b/Jenkins/Jenkinsfile-deb-pkg @@ -1,3 +1,4 @@ +@Library('jenkins-shared-library') _ pipeline { agent { label 'jenkins-slave' -- 2.40.1 From d0c3730fd1973a7733df8db0eeedc05d55b985ef Mon Sep 17 00:00:00 2001 From: Nicolas Arenas Date: Mon, 17 Mar 2025 20:20:14 +0100 Subject: [PATCH 07/13] Add parameters for changelog mantainers --- Jenkins/Jenkinsfile-deb-pkg | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/Jenkins/Jenkinsfile-deb-pkg b/Jenkins/Jenkinsfile-deb-pkg index f98dab5..0683050 100644 --- a/Jenkins/Jenkinsfile-deb-pkg +++ b/Jenkins/Jenkinsfile-deb-pkg @@ -1,27 +1,27 @@ @Library('jenkins-shared-library') _ pipeline { - agent { - label 'jenkins-slave' - } + agent { label 'jenkins-slave' } + environment { DEBIAN_FRONTEND = 'noninteractive' DEFAULT_DEV_NAME = 'Default Developer' DEFAULT_DEV_EMAIL = 'default@email.com' + BUILD_DIR = "${WORKSPACE}/oggui" } + 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}/oggui" - sh "mkdir -p ${env.BUILD_DIR}" - } + sh "mkdir -p ${env.BUILD_DIR}" } } @@ -36,8 +36,8 @@ pipeline { stage('Generate Changelog') { 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 + def devName = params.DEV_NAME ?: env.DEFAULT_DEV_NAME + def devEmail = params.DEV_EMAIL ?: env.DEFAULT_DEV_EMAIL generateDebianChangelog(env.BUILD_DIR, devName, devEmail) } @@ -48,8 +48,13 @@ pipeline { steps { dir("${env.BUILD_DIR}") { sh ''' + set -e # Detener ejecución en caso de error + dpkg-buildpackage -us -uc - mkdir -p ../artifacts && mv ../*.deb ../*.changes ../*.buildinfo ../artifacts/ + + mkdir -p ../artifacts + mv ../*.deb ../*.changes ../*.buildinfo ../artifacts/ + ssh aptly@172.17.8.68 "rm -rf /var/tmp/opengnsys/debian-repo && mkdir -p /var/tmp/opengnsys/debian-repo" scp -r ../artifacts/* aptly@172.17.8.68:/var/tmp/opengnsys/debian-repo/ ''' -- 2.40.1 From 91848a90e61c15055f15ff2bb347dbc7b5865f47 Mon Sep 17 00:00:00 2001 From: Nicolas Arenas Date: Mon, 17 Mar 2025 23:44:03 +0100 Subject: [PATCH 08/13] use null values if empty --- Jenkins/Jenkinsfile-deb-pkg | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Jenkins/Jenkinsfile-deb-pkg b/Jenkins/Jenkinsfile-deb-pkg index 0683050..612ed3e 100644 --- a/Jenkins/Jenkinsfile-deb-pkg +++ b/Jenkins/Jenkinsfile-deb-pkg @@ -36,8 +36,8 @@ pipeline { stage('Generate Changelog') { steps { script { - def devName = params.DEV_NAME ?: env.DEFAULT_DEV_NAME - def devEmail = params.DEV_EMAIL ?: env.DEFAULT_DEV_EMAIL + def devName = params.DEV_NAME?.trim() ? params.DEV_NAME : null + def devEmail = params.DEV_EMAIL?.trim() ? params.DEV_EMAIL : null generateDebianChangelog(env.BUILD_DIR, devName, devEmail) } -- 2.40.1 From 189d6b8cb27664e80e8f38400a90d7320998f67e Mon Sep 17 00:00:00 2001 From: Nicolas Arenas Date: Mon, 17 Mar 2025 23:46:09 +0100 Subject: [PATCH 09/13] use null values if empty --- Jenkins/Jenkinsfile-deb-pkg | 25 ++++++++++--------------- 1 file changed, 10 insertions(+), 15 deletions(-) diff --git a/Jenkins/Jenkinsfile-deb-pkg b/Jenkins/Jenkinsfile-deb-pkg index 612ed3e..f98dab5 100644 --- a/Jenkins/Jenkinsfile-deb-pkg +++ b/Jenkins/Jenkinsfile-deb-pkg @@ -1,27 +1,27 @@ @Library('jenkins-shared-library') _ pipeline { - agent { label 'jenkins-slave' } - + agent { + label 'jenkins-slave' + } environment { DEBIAN_FRONTEND = 'noninteractive' DEFAULT_DEV_NAME = 'Default Developer' DEFAULT_DEV_EMAIL = 'default@email.com' - BUILD_DIR = "${WORKSPACE}/oggui" } - 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 { - sh "mkdir -p ${env.BUILD_DIR}" + script { + env.BUILD_DIR = "${WORKSPACE}/oggui" + sh "mkdir -p ${env.BUILD_DIR}" + } } } @@ -36,8 +36,8 @@ pipeline { stage('Generate Changelog') { steps { script { - def devName = params.DEV_NAME?.trim() ? params.DEV_NAME : null - def devEmail = params.DEV_EMAIL?.trim() ? params.DEV_EMAIL : null + 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) } @@ -48,13 +48,8 @@ pipeline { steps { dir("${env.BUILD_DIR}") { sh ''' - set -e # Detener ejecución en caso de error - dpkg-buildpackage -us -uc - - mkdir -p ../artifacts - mv ../*.deb ../*.changes ../*.buildinfo ../artifacts/ - + mkdir -p ../artifacts && mv ../*.deb ../*.changes ../*.buildinfo ../artifacts/ ssh aptly@172.17.8.68 "rm -rf /var/tmp/opengnsys/debian-repo && mkdir -p /var/tmp/opengnsys/debian-repo" scp -r ../artifacts/* aptly@172.17.8.68:/var/tmp/opengnsys/debian-repo/ ''' -- 2.40.1 From e04a8204a72b7044ad5e5f6ed66f67de26f31c69 Mon Sep 17 00:00:00 2001 From: Nicolas Arenas Date: Tue, 18 Mar 2025 00:08:39 +0100 Subject: [PATCH 10/13] Adjust values --- Jenkins/Jenkinsfile-deb-pkg | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Jenkins/Jenkinsfile-deb-pkg b/Jenkins/Jenkinsfile-deb-pkg index f98dab5..7f66ed6 100644 --- a/Jenkins/Jenkinsfile-deb-pkg +++ b/Jenkins/Jenkinsfile-deb-pkg @@ -5,8 +5,8 @@ pipeline { } environment { DEBIAN_FRONTEND = 'noninteractive' - DEFAULT_DEV_NAME = 'Default Developer' - DEFAULT_DEV_EMAIL = 'default@email.com' + DEFAULT_DEV_NAME = 'Opengnsys Team' + DEFAULT_DEV_EMAIL = 'opengnsys@qindel.com' } options { skipDefaultCheckout() -- 2.40.1 From a7ce0f3859fe13a90cc0fe0296fc456ca1e78b44 Mon Sep 17 00:00:00 2001 From: Nicolas Arenas Date: Tue, 18 Mar 2025 00:15:45 +0100 Subject: [PATCH 11/13] Just update changelog if tag is set --- Jenkins/Jenkinsfile-deb-pkg | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Jenkins/Jenkinsfile-deb-pkg b/Jenkins/Jenkinsfile-deb-pkg index 7f66ed6..ff55588 100644 --- a/Jenkins/Jenkinsfile-deb-pkg +++ b/Jenkins/Jenkinsfile-deb-pkg @@ -34,6 +34,11 @@ pipeline { } stage('Generate Changelog') { + when { + expression { + return env.GIT_TAG_NAME != null + } + } steps { script { def devName = params.DEV_NAME ? params.DEV_NAME : env.DEFAULT_DEV_NAME -- 2.40.1 From b359703278db484af6f7ec7913c8094362ab0ea2 Mon Sep 17 00:00:00 2001 From: Nicolas Arenas Date: Tue, 18 Mar 2025 00:52:43 +0100 Subject: [PATCH 12/13] update condition --- 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 ff55588..9120684 100644 --- a/Jenkins/Jenkinsfile-deb-pkg +++ b/Jenkins/Jenkinsfile-deb-pkg @@ -36,7 +36,7 @@ pipeline { stage('Generate Changelog') { when { expression { - return env.GIT_TAG_NAME != null + return env.TAG_NAME != null } } steps { -- 2.40.1 From afaacd976e0c86f4479bbe9796e2dd7c8c1c6eb5 Mon Sep 17 00:00:00 2001 From: Nicolas Arenas Date: Tue, 18 Mar 2025 01:05:49 +0100 Subject: [PATCH 13/13] Email users --- Jenkins/Jenkinsfile-deb-pkg | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Jenkins/Jenkinsfile-deb-pkg b/Jenkins/Jenkinsfile-deb-pkg index 9120684..59886e4 100644 --- a/Jenkins/Jenkinsfile-deb-pkg +++ b/Jenkins/Jenkinsfile-deb-pkg @@ -62,6 +62,11 @@ pipeline { } } } + post { + always { + notifyBuildStatus('narenas@qindel.com') + } + } } // stage ('Publish to Debian Repository') { // agent { label 'debian-repo' } -- 2.40.1