Używam deklaratywnego potoku Jenkins do automatyzacji procesu kompilacji. Chcemy opublikować nasze artefakty w zdalnym repozytorium JFrog tylko wtedy, gdy spełnione zostaną określone warunki (Sonar, Checkmarx).
Po kilku badaniach odkryłem, że wtyczka Artifactory jest do tego przydatna. Ale nie jestem w stanie znaleźć żadnego dokumentu na temat sposobu integracji z deklaratywnym potokiem. Poniżej znajduje się fragment kodu z 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
}
}
}
}
Publikowanie warunkowe nie jest możliwe z powyższym kodem, ponieważ nie mogę ponownie użyć zmiennej serwera , nawet jeśli wyłączę automatyczne publikowanie.