Ich verwende Jenkins Declarative Pipeline, um meinen Erstellungsprozess zu automatisieren. Wir möchten unsere Artefakte nur dann in einem Remote-JFrog-Repository veröffentlichen, wenn bestimmte Bedingungen (Sonar, Checkmarx) erfüllt sind.
Nach einigem Nachforschen habe ich festgestellt, dass das Artifactory-Plugin hierfür nützlich ist. Ich kann jedoch kein Dokument zur Integration in deklarative Pipelines finden. Unten ist das Code-Snippet von 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
}
}
}
}
Das bedingte Veröffentlichen ist mit dem obigen Code nicht möglich, da ich die Servervariable nicht wiederverwenden kann , auch wenn ich das automatische Veröffentlichen deaktiviere.