From cb4806a40f93d857f85c67961b22c796ec078e4c Mon Sep 17 00:00:00 2001 From: Nicolas Arenas Date: Tue, 18 Mar 2025 02:03:47 +0100 Subject: [PATCH] Adds jenkinsfile for deb packages --- Jenkins/Jenkinsfile-deb-pkg | 77 +++++++++++++++++++++++++++++++++++++ 1 file changed, 77 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..4e802b7 --- /dev/null +++ b/Jenkins/Jenkinsfile-deb-pkg @@ -0,0 +1,77 @@ +@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}/ogboot" + sh "mkdir -p ${env.BUILD_DIR}" + } + } + } + + 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) + } + } + } + + stage('Build') { + steps { + dir("${env.BUILD_DIR}") { + sh ''' + 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/ + ''' + } + } + } + } + post { + always { + notifyBuildStatus('narenas@qindel.com') + } + } +} +// stage ('Publish to Debian Repository') { +// agent { label 'debian-repo' } +// steps { +// sh "aptly repo add opengnsys-devel /var/tmp/opengnsys/debian-repo/*.deb" +// } +// } +