Merge pull request 'jenkins' (#61) from jenkins into main
ogagent/pipeline/head This commit looks good
Details
ogagent/pipeline/head This commit looks good
Details
Reviewed-on: #61pull/63/head
commit
8ee4afa1cb
|
|
@ -0,0 +1,119 @@
|
||||||
|
@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 {
|
||||||
|
anyOf {
|
||||||
|
branch 'main'
|
||||||
|
branch 'jenkins'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
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 {
|
||||||
|
dir ("${env.BUILD_DIR}") {
|
||||||
|
script {
|
||||||
|
sh '''
|
||||||
|
V=$(grep -E "^## \\[[0-9]+\\.[0-9]+\\.[0-9]+" CHANGELOG.md | head -1 | \
|
||||||
|
cut -d'[' -f2 | cut -d']' -f1)
|
||||||
|
echo "V=$V" >src/VERSION
|
||||||
|
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")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
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')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue