Simplify / harmonize packaging step in Jenkinsfile (#74572) #47
|
@ -26,10 +26,18 @@ pipeline {
|
|||
stage('Packaging') {
|
||||
steps {
|
||||
script {
|
||||
if (env.JOB_NAME == 'combo' && env.GIT_BRANCH == 'origin/main') {
|
||||
sh 'sudo -H -u eobuilder /usr/local/bin/eobuilder -d bullseye combo'
|
||||
env.SHORT_JOB_NAME=sh(
|
||||
returnStdout: true,
|
||||
// given JOB_NAME=gitea/project/PR-46, returns project
|
||||
// given JOB_NAME=project/main, returns project
|
||||
script: '''
|
||||
echo "${JOB_NAME}" | sed "s/gitea\\///" | awk -F/ '{print $1}'
|
||||
'''
|
||||
).trim()
|
||||
|
||||
if (env.GIT_BRANCH == 'main' || env.GIT_BRANCH == 'origin/main') {
|
||||
sh "sudo -H -u eobuilder /usr/local/bin/eobuilder -d bullseye ${SHORT_JOB_NAME}"
|
||||
} else if (env.GIT_BRANCH.startsWith('hotfix/')) {
|
||||
sh "sudo -H -u eobuilder /usr/local/bin/eobuilder -d bullseye --branch ${env.GIT_BRANCH} --hotfix combo"
|
||||
sh "sudo -H -u eobuilder /usr/local/bin/eobuilder -d bullseye --branch ${env.GIT_BRANCH} --hotfix ${SHORT_JOB_NAME}"
|
||||
aberriot
commented
Cette partie là devient indépendante du projet, on peut copier/coller d'un projet à l'autre sans soucis. J'utilise Sur une PR, BRANCH_NAME ressemble à Cette partie là devient indépendante du projet, on peut copier/coller d'un projet à l'autre sans soucis. J'utilise `env.BRANCH_NAME` au lieu de `env.GIT_BRANCH`, car normalement cette variable ne contient pas de prefixe type `origin/`.
Sur une PR, BRANCH_NAME ressemble à `gitea/combo/PR-47`, mais autrement, ça doit matcher la branche git en train d'être buildée.
fpeters
commented
On pourrait avoir Pour bien tout vérifier, si tu veux faire des tests sur la branche main, tu peux migrer le projet https://git.entrouvert.org/bidon.git/ vers gitea, là-dedans tu pourras commiter directement sur main pour tester. On pourrait avoir `if (env.BRANCH_NAME == 'main' || .BRANCH_NAME == 'origin/main') {`, pour garantie sur l'existant ?
Pour bien tout vérifier, si tu veux faire des tests sur la branche main, tu peux migrer le projet https://git.entrouvert.org/bidon.git/ vers gitea, là-dedans tu pourras commiter directement sur main pour tester.
aberriot
commented
Ah génial, je vais faire mes tests sur le projet bidon pour m'assurer de la compat sur main (déjà ça plante avec le code de la PR). Ah génial, je vais faire mes tests sur le projet bidon pour m'assurer de la compat sur main (déjà ça plante avec le code de la PR).
aberriot
commented
Du coup, BRANCH_NAME n'est simplement pas disponible sur les jobs existants. Donc j'ai rebasculé sur GIT_BRANCH, avec un or pour gérer le préfixe avec origin/, cf (qui passe comme attendu et builde un package, cf https://jenkins.entrouvert.org/job/bidon/1067/console) Du coup, BRANCH_NAME n'est simplement pas disponible sur les jobs existants. Donc j'ai rebasculé sur GIT_BRANCH, avec un or pour gérer le préfixe avec origin/, cf https://gitea.entrouvert.org/entrouvert/bidon/src/commit/80d7fb2fbbff8540efc94ef031b503102bcb3037/Jenkinsfile#L22-L25
(qui passe comme attendu et builde un package, cf https://jenkins.entrouvert.org/job/bidon/1067/console)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Basé sur https://stackoverflow.com/a/59359806/2844093, pour sortir la bonne partie du job name et la passer à EObuilder.