使用声明性管道将项目Jar作为maven工件发布到Jfrog工件库

使用声明性管道将项目Jar作为maven工件发布到Jfrog工件库,maven,jenkins,jenkins-pipeline,artifactory,jenkins-declarative-pipeline,Maven,Jenkins,Jenkins Pipeline,Artifactory,Jenkins Declarative Pipeline,我正在编写一个声明性Jenkins管道脚本,用于构建工件并将其发布到JFrog Artifactory。 我们只有一个项目存储库,服务位于services文件夹下。所有服务都有自己的pom.xml。只有在服务的单个目录结构中检测到更改时,我们才需要编写一个脚本到管道脚本来构建工件并将其发布到JFrog。 对于每个客户,我们不能为每个服务拥有单独的存储库。这里的问题是,使用下面的脚本(使用rtUpload),我无法将工件作为maven工件(组id、工件id和版本号)发布到artifactory。请

我正在编写一个声明性Jenkins管道脚本,用于构建工件并将其发布到JFrog Artifactory。
我们只有一个项目存储库,服务位于services文件夹下。所有服务都有自己的pom.xml。只有在服务的单个目录结构中检测到更改时,我们才需要编写一个脚本到管道脚本来构建工件并将其发布到JFrog。
对于每个客户,我们不能为每个服务拥有单独的存储库。这里的问题是,使用下面的脚本(使用rtUpload),我无法将工件作为maven工件(组id、工件id和版本号)发布到artifactory。请求你的帮助

项目结构如下所示

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


我建议使用中提到的基于Maven的作业,并对其进行测试。当您试图使用“mvn”客户机构建并使用rtUpload部署到Artifactory时,我怀疑这是否正确。您可以先试用mvn deploy,或者使用上面wiki中提到的方法设置管道


声明性脚本的示例JenkinsFile可以在这个JFrog的目录下找到。使用rtMavenRun可能有助于构建和部署文件。

是否尝试使用
maven deploy
而不是
rtUpload
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
     } 
   }
}