Estoy usando Jenkins Declarative Pipeline para automatizar mi proceso de construcción. Queremos publicar nuestros artefactos en un repositorio remoto de JFrog solo si pasan ciertas condiciones (Sonar, Checkmarx).
Después de un poco de investigación, descubrí que el complemento Artifactory es útil para esto. Pero no puedo encontrar ningún documento sobre cómo integrar en la tubería declarativa. A continuación se muestra el fragmento de código 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 publicación condicional no es posible con el código anterior ya que no puedo reutilizar la variable del servidor incluso si desactivo la publicación automática.