web-dev-qa-db-fra.com

Jenkins groovy pipeline - récupérer le numéro de build du travail construit

J'ai un pipeline que mon équipe utilise pour faire tourner des machines virtuelles cloud et leur déployer une pile logicielle. Une partie de ce processus consiste à regrouper les artefacts des builds qu'ils sélectionnent. Pour l'instant, je ne saisis que le dernier succès des travaux répertoriés, mais j'ai rencontré des problèmes de recréation de ce travail dans un autre processus avant que le pipeline ne puisse créer son bundle, ce qui fait que le bundle récupère un artefact construit avec les mauvaises dépendances.

def DeployModule(jobName, jobBranch, serverHostName, database){
build job: jobName, parameters: [[$class: 'StringParameterValue', name: 'Branch', value: jobBranch], [$class: 'StringParameterValue', name: 'DatabaseAction', value: database], [$class: 'StringParameterValue', name: 'Profile', value: serverHostName]]
println "$jobName Succesfull"
}

Existe-t-il un moyen de modifier ma méthode de travail de génération simple pour extraire le numéro de génération réel qui a été déclenché? La console du pipeline affiche le numéro de build créé, mais je ne sais pas comment l'obtenir dans mon code groovy.

[Pipeline] build (Building tms-auto-build)
Scheduling project: tms-auto-build
Starting building: tms-auto-build #298
11
Stephen Nichols

C'était en fait une sorte de pas de tête. si je viens de définir build job: jobName à une variable, cette variable est un RunWrapper

https://github.com/jenkinsci/pipeline-plugin/blob/d3f66c6f04d1d979957f02819b19291e2c35e276/support/src/main/Java/org/jenkinsci/plugins/workflow/support/stepsra .Java

RunWrapper en tant que .getNumber () qui fonctionne parfaitement

def testing = build job: "tms-auto-build"
println testing.getNumber()
17
Stephen Nichols