close Warning: Failed to sync with repository "ogBrowser-Git": (1366, "Incorrect string value: '\\xF0\\x9F\\x93\\xA6 I...' for column 'message' at row 1"); repository information may be out of date. Look in the Trac log for more information including mitigation strategies.

source: ogAgent-Git/Jenkins/Jenkinsfile-deb-pkg

main 8.4.2
Last change on this file was bc13b19, checked in by Nicolas Arenas <narenas@…>, 3 weeks ago

Fixing creation of missing directory

  • Property mode set to 100644
File size: 4.2 KB
Line 
1@Library('jenkins-shared-library') _
2pipeline {
3    agent {
4        label 'jenkins-slave'
5    }
6    environment {
7        DEBIAN_FRONTEND = 'noninteractive'
8        DEFAULT_DEV_NAME = 'Opengnsys Team'
9        DEFAULT_DEV_EMAIL = 'opengnsys@qindel.com'
10    }
11    options {
12        skipDefaultCheckout()
13    }
14    parameters {
15        string(name: 'DEV_NAME', defaultValue: '', description: 'Nombre del desarrollador')
16        string(name: 'DEV_EMAIL', defaultValue: '', description: 'Email del desarrollador')
17    }
18    stages {
19        stage('Prepare Workspace') {
20            steps {
21                script {
22                    env.BUILD_DIR = "${WORKSPACE}/ogagent"
23                    sh "mkdir -p ${env.BUILD_DIR}"
24                    sh "mkdir -p ${env.BUILD_DIR}/debian"
25                }
26            }
27        }
28
29        stage('Checkout') {
30            steps {
31                dir("${env.BUILD_DIR}") {
32                    checkout scm
33                }
34            }
35        }
36
37        stage('Generate Changelog') {
38            when {
39                expression {
40                    return env.TAG_NAME != null
41                }
42            }
43            steps {
44                script {
45                    def devName = params.DEV_NAME ? params.DEV_NAME : env.DEFAULT_DEV_NAME
46                    def devEmail = params.DEV_EMAIL ? params.DEV_EMAIL : env.DEFAULT_DEV_EMAIL
47                    generateDebianChangelog(env.BUILD_DIR, devName, devEmail)
48                    sh "mkdir -p ${env.BUILD_DIR}/debian/"
49                    sh "cp ${env.BUILD_DIR}/debian/changelog ${env.BUILD_DIR}/linux/debian/"
50                }
51            }
52        }
53        stage('Generate Changelog (Nightly)'){
54            when {
55                anyOf {
56                    branch 'main'
57                    branch 'jenkins'
58                }
59            }
60            steps {
61                script {
62                    def devName = params.DEV_NAME ? params.DEV_NAME : env.DEFAULT_DEV_NAME
63                    def devEmail = params.DEV_EMAIL ? params.DEV_EMAIL : env.DEFAULT_DEV_EMAIL
64                    generateDebianChangelog(env.BUILD_DIR, devName, devEmail,'nightly')
65                    sh "mkdir -p ${env.BUILD_DIR}/debian/"
66                    sh "cp ${env.BUILD_DIR}/debian/changelog ${env.BUILD_DIR}/linux/debian/"
67                }
68            }
69        }
70        stage('Build') {
71            steps {
72                dir ("${env.BUILD_DIR}") {
73                    script {
74                        sh '''
75                        V=$(grep -E "^## \\[[0-9]+\\.[0-9]+\\.[0-9]+" CHANGELOG.md | head -1 | \
76                        cut -d'[' -f2 | cut -d']' -f1)
77                        echo "V=$V" >src/VERSION
78                        echo "Versión extraída: $V"
79                        src/update.py
80                        git checkout -- src/about-dialog.ui src/opengnsys/__init__.py
81                        '''
82                    construirPaquete("${env.BUILD_DIR}/linux", "../artifacts", "172.17.8.68", "/var/tmp/opengnsys/debian-repo/ogagent")
83                    }
84                }
85            }
86        }
87        stage ('Publish to Debian Repository') {
88            when {
89                expression {
90                    return env.TAG_NAME != null
91                }
92            }
93            agent { label 'debian-repo' }
94            steps {
95               script {
96                    // Construir el patrón de versión esperado en el nombre del paquete
97                    def versionPattern = "${env.TAG_NAME}-${env.BUILD_NUMBER}"
98                    publicarEnAptly('/var/tmp/opengnsys/debian-repo/ogagent', 'opengnsys-devel', versionPattern)
99                }
100            }
101        }
102        stage ('Publish to Debian Repository (Nightly)') {
103            when {
104                branch 'main'
105            }
106            agent { label 'debian-repo' }
107            steps {
108               script {
109                    // Construir el patrón de versión esperado en el nombre del paquete
110                    def versionPattern = "-${env.BUILD_NUMBER}~nightly"
111                    publicarEnAptly('/var/tmp/opengnsys/debian-repo/ogagent', 'nightly', versionPattern)
112                }
113            }
114        }
115    }
116    post {
117        always {
118            notifyBuildStatus('narenas@qindel.com')
119        }
120    }
121}
Note: See TracBrowser for help on using the repository browser.