Yapım sürecimi otomatikleştirmek için Jenkins Declarative Pipeline kullanıyorum. Yapıtlarımızı yalnızca belirli koşullar (Sonar, Checkmarx) geçtiğinde uzak bir JFrog deposuna yayınlamak istiyoruz.
Biraz araştırma yaptıktan sonra, Artifactory eklentisinin bunun için yararlı olduğunu buldum. Ancak bildirimsel boru hattına nasıl entegre edileceğine dair herhangi bir belge bulamıyorum. Aşağıda Jenkinsfile kod pasajı bulunmaktadır
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
}
}
}
}
Koşullu yayımlama yukarıdaki kodla mümkün değildir, çünkü otomatik yayınlamayı devre dışı bıraksam bile sunucu değişkenini yeniden kullanamıyorum .