在Jenkins (2.7)中,我有一个简单的Maven 3 Java项目。它使用Jenkins Artifactory插件构建标准项目JAR并将其发布到Artifactory;没有问题。
目标
现在,我需要在JAR旁边发布一个任意文件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,然后在Jenkins插件中尝试了用于Include Patterns的不同配置,以获取用于发布的文件:
*.jar *.yml
**/*.jar **/*.yml
*.jar deploycfg.ymlJAR被发布到Artifactory,而不是deploycfg.yml。尝试将yml文件放在/target/maven-archiver中而不是/target中,但这也不起作用。不知道此时还能做什么,也许Include Patterns的起点不是我想的那样,/target?


发布于 2016-12-06 15:23:16
我能够使用管道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。我很好奇,你最后弄明白了吗?
https://stackoverflow.com/questions/39518756
复制相似问题