Я пытаюсь интегрировать Artifactory в мой конвейер Jenkins, чтобы доставить артефакты Maven в Artifactory.
В настоящее время я понимаю, что я должен развертывать встроенные артефакты Maven с использованием конвейера Jenkins, а не через плагин Maven в течение жизненного цикла deploy
Maven.
На основе документации, котораяЯ прочитал до сих пор, я думаю, мне нужен код, подобный этому в моем конвейере:
stage('Build') {
steps {
/** Start a docker container with maven and run mvn clean install */
}
}
stage ('Deploy to Artifactory') {
steps {
script {
def server = Artifactory.server 'my-server-id'
def rtMaven = Artifactory.newMavenBuild()
rtMaven.deployer.addProperty("status", "in-qa")
buildInfo = rtMaven.run pom: 'pom.xml', goals: 'clean install'
server.publishBuildInfo buildInfo
}
}
}
Однако я не могу полностью понять, что это делает, и я не могу найти более подробную документацию, кроме эта запись в блоге JFrog и эта страница слияния JFrog .
В частности, кажется, что если я укажу цели в директиве run, она снова запустит конвейер Maven, что приведет кне так много, так как конвейер уже запущен на первом этапе (например, 'Build').
Кроме того, я должен отметить, что я запускаю сборку maven внутри док-контейнера, так что кажется, что с использованием вышеупомянутогоМне не достаточно настроек.
Есть ли лучший подход к этому?
Что я ищу, так этоспособ собрать артефакты, которые я создал с помощью maven, в моем док-контейнере и загрузить их в Artifactory без повторного запуска maven.