From 5389eba18cf2e9a43712b7c64d19cbbea974e615 Mon Sep 17 00:00:00 2001 From: Nicolas Arenas Date: Tue, 18 Mar 2025 11:08:17 +0100 Subject: [PATCH] Add Jenkinsfile (#5) Reviewed-on: https://ognproject.evlt.uma.es/gitea/opengnsys/ogdhcp/pulls/5 refs #1713 --- CHANGELOG.md | 24 ++++++++++++ Jenkins/Jenkinsfile-deb-pkg | 77 +++++++++++++++++++++++++++++++++++++ 2 files changed, 101 insertions(+) create mode 100644 CHANGELOG.md create mode 100644 Jenkins/Jenkinsfile-deb-pkg diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..ebc5b76 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,24 @@ +# Changelog + +## [0.6.0] - 2025-03-03 +### Added +- Nuevos parámetros a la subred: `dns` y `subnetname`, añadiéndolos a la configuración de Kea. + +### Fixed +- Error de permisos en el instalador. +- Bugs en la creación del home `/opt/opengnsys` del usuario `opengnsys`. + +## [0.5.5] - 2025-02-06 +### Fixed +- Bugs en la creación del home `/opt/opengnsys` del usuario `opengnsys`. + +## [0.5.4] - 2025-02-06 +### Changed +- Se cambia el home del usuario `opengnsys` a `/opt/opengnsys`. + +## [0.5.3] - 2025-01-13 +### Added +- Logs para todos los endpoints siguiendo un formato JSON preestablecido. + +### Changed +- Se actualiza `monolog.yaml` para devolver logs al journal de la máquina. \ No newline at end of file diff --git a/Jenkins/Jenkinsfile-deb-pkg b/Jenkins/Jenkinsfile-deb-pkg new file mode 100644 index 0000000..2df5aa3 --- /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}/ogdhcp" + 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" +// } +// } +