Интеграция Артефактуры в трубопровод Дженкинс - PullRequest
0 голосов
/ 28 мая 2018

Я пытаюсь интегрировать 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.

...