簡體   English   中英

使用聲明式管道將項目 Jar 作為 maven 工件發布到 Jfrog Artifactory

[英]Publish project Jar as maven artifacts to Jfrog Artifactory using Declarative Pipeline

我正在開發一個聲明性 Jenkins 管道腳本來構建工件並將其發布到 JFrog Artifactory。
我們只有一個項目存儲庫,服務位於 services 文件夾下。 所有服務都有自己的 pom.xml 。我們需要編寫一個腳本到管道腳本來構建工件並將工件發布到 JFrog 僅當在服務的各個目錄結構中檢測到更改時。
對於每個客戶,我們不能為每個服務擁有單獨的存儲庫。 這里的問題,使用以下腳本(使用rtUpload )我無法將工件作為 maven 工件(組 ID、工件 ID 和版本號)發布到工件。 請求您對此提供幫助。

項目結構如下。

trinad(repository)
|
|-----/java/services/customer_quote/pom.xml
|
|-----/java/services/customer_rate/pom.xml
|
|-----/java/services/customer_renew/pom.xml

pipeline{
   agent any
   tools{
       jdk 'JDK'
       maven 'Maven'
   }
   stages{
     stage('Build'){
        when {
          anyOf{
                changeset '**/services/customer_quote/**'
          }
        }
        steps{
         sh 'mvn -v'
         sh 'mvn -f java/services/customer_quote/pom.xml' clean install
        }
        when {
          anyOf{
                changeset '**/services/customer_rate/**'
          }
        }
        steps{
         sh 'mvn -v'
         sh 'mvn -f java/services/customer_rate/pom.xml' clean install
        }
   
     }
     stage('publish'){
      when {
          anyOf{
                changeset '**/services/customer_quote/**'
          }
        }
        steps{
            rtUpload{
              serverId:'Artifactory',
              spec:'''{
               "files":[
                {
                    "pattern":"/services/customer_quote/target/customer-quote-*.jar",
                    "target": "trinad"/${BUILD_NUMBER}/"    
                }]
              }
            }
        
        }
        //publish steps for other services goes here
     } 
   }
}

我建議使用wiki 中提到的基於 Maven 的作業並對其進行測試。 當您嘗試使用“mvn”客戶端進行構建並使用 rtUpload 部署到 Artifactory 時,我懷疑這是否正確。 您要么先嘗試 mvn deploy,要么使用上面 wiki 中提到的管道設置管道。

聲明性腳本的示例 JenkinsFile 可以在此 JFrog 的Github下找到。 可能使用 rtMavenRun 應該有助於構建和部署文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM