使用Artifactory插件“包含模式”发布Jenkins项目文件

问题描述:

在Jenkins(2.7)中,我有一个简单的Maven 3 Java项目。它使用Jenkins Artifactory插件构建并发布标准项目JAR给Artifactory;没有问题。使用Artifactory插件“包含模式”发布Jenkins项目文件

目标

现在,我需要发布到artifactory的任意文件,deploycfg.yml,旁边的JAR;不在其中。所以从一个存储库的角度来看,它应该是这样的:

com/acme/sbgroov/1.0.0.7/ 
-- sbgroov-1.0.0.7.jar 
-- sbgroov-1.0.0.7.md5 
-- sbgroov-1.0.0.7.sha 
-- deploycfg.yml  <---publish this to Artifactory too! 

试图

我已经修改了POM移动deploycfg.yml/target在建筑,然后在詹金斯Artifactory的尝试不同的配置Include Patterns插件拿起文件发布:

*.jar *.yml 
**/*.jar **/*.yml 
*.jar deploycfg.yml 

的JAR被发布到artifactory的,但不是deploycfg.yml。试过把yml文件放在/target/maven-archiver而不是/target,但那也没用。不知道此时还有什么可以做的,或许Include Patterns的起点不是我认为的那样,/target

enter image description here

enter image description here

我能够做到这一点使用管道Groovy脚本。

println "Uploading artifacts to Artifactory. Upload target is: ${uploadTarget}" 

def server = Artifactory.server 'artifactory' 
def uploadSpec = """{ 
    "files": [ 
     { 
      "pattern": "target/${pom.artifactId}-${pom.version}.jar", 
      "target": "${uploadTarget}/${pom.artifactId}-${pom.version}.jar" 
     }, 
     { 
      "pattern": "target/${pom.artifactId}-${pom.version}.war", 
      "target": "${uploadTarget}/${pom.artifactId}-${pom.version}.war" 
     }, 
     { 
      "pattern": "manifest.yml", 
      "target": "${uploadTarget}/manifest.yml" 
     } 
    ] 
}""" 

def buildInfo = server.upload(uploadSpec) 

// Publish build information. 
buildInfo.env.capture = true 
server.publishBuildInfo(buildInfo) 

但是,我碰到了在Jenkins中使用传统Artifactory插件UI的相同问题。我很好奇,你最终搞清楚了吗?

+0

尝试使用**将工件部署到Maven资源库**后期构建操作,而不是Artifactory插件。 – raffian

+0

我对如何实现这一点仍然无能为力!你可以让我们知道你是如何解决它的。 – Ramesh

+0

我结束了使用管道脚本。 –