[英]Publish binary file to maven artifactory along with JAR files using Jenkins
[英]Publish project files from Jenkins using Artifactory plugin "Include Patterns"
在 Jenkins (2.7) 中,我有一個簡單的 Maven 3 Java 項目。 它使用Jenkins Artifactory插件構建並發布標准項目JAR到Artifactory; 沒有問題。
目標
現在,我需要將任意文件deploycfg.yml
與 JAR 一起發布到 Artifactory; 不在其中。 所以從存儲庫的角度來看,它應該是這樣的:
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 Artifactory 插件中嘗試了Include Patterns
不同配置以獲取要發布的文件:
*.jar *.yml
**/*.jar **/*.yml
*.jar deploycfg.yml
JAR 會發布到 Artifactory,但不會發布到deploycfg.yml
。 嘗試將 yml 文件放在/target/maven-archiver
而不是/target
,但這也不起作用。 不知道此時還能做什么,也許Include Patterns
的起點不是我認為的那樣, /target
?
我能夠使用 Pipeline 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 時遇到的相同問題。 我很好奇,你最后弄明白了嗎?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.