Saya menggunakan Jenkins Declarative Pipeline untuk mengotomatiskan proses pembuatan saya. Kami ingin menerbitkan artefak kami ke repositori JFrog jarak jauh hanya jika kondisi tertentu (Sonar, Checkmarx) lulus.
Setelah sedikit riset, saya menemukan bahwa plugin Artifactory berguna untuk ini. Tetapi saya tidak dapat menemukan dokumen tentang bagaimana mengintegrasikan dalam pipa deklaratif. Di bawah ini adalah cuplikan kode dari 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
}
}
}
}
Publikasi bersyarat tidak dimungkinkan dengan kode di atas karena saya tidak dapat menggunakan kembali variabel server walaupun saya menonaktifkan publikasi otomatis.