J'utilise Jenkins Declarative Pipeline pour automatiser mon processus de construction. Nous voulons publier nos artefacts dans un référentiel JFrog distant uniquement si certaines conditions (Sonar, Checkmarx) sont remplies.
Après un peu de recherche, j'ai trouvé que le plugin Artifactory est utile pour cela. Mais je ne trouve aucun document sur la façon de s'intégrer dans le pipeline déclaratif. Ci-dessous, l'extrait de code de Jenkinsfile
stages{
stage('Pre-Build'){
steps{
script{
def server = Artifactory.server 'LocalJfrog'
def rtGradle = Artifactory.newGradleBuild()
rtGradle.resolver server: server, repo: 'gradle-dev-local'
rtGradle.deployer server: server, repo: 'gradle-release-local'
rtGradle.useWrapper = true
}
}
}
}
La publication conditionnelle n'est pas possible avec le code ci-dessus car je ne peux pas réutiliser la variable serveur même si je désactive la publication automatique.