Sto usando la pipeline dichiarativa di Jenkins per automatizzare il mio processo di compilazione. Vogliamo pubblicare i nostri artefatti su un repository JFrog remoto solo se determinate condizioni (Sonar, Checkmarx) passano.
Dopo un po 'di ricerche, ho scoperto che il plugin Artifactory è utile per questo. Ma non riesco a trovare alcun documento su come integrare nella pipeline dichiarativa. Di seguito è riportato lo snippet di codice di 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 pubblicazione condizionale non è possibile con il codice sopra poiché non riesco a riutilizzare la variabile del server anche se disabilito la pubblicazione automatica.