Groovy - 无法在JFrog Artifactory中上传工件

问题描述 投票:0回答:2

在以下代码中:

def server = Artifactory.server 'server_id';

def uploadSpec = """{
                "files": [{
                    "pattern": "${WORKSPACE}/$repoName/target/$repoName-0.1-$jarType.jar",
                    "target": "libs-release-local/a/b/c/"
                    }
                    ]
            }"""

server.upload(uploadSpec)    

server.upload(uploadSpec)没有在a/b/c下创建存储库路径libs-release-local,当时第一次运行


Jenkins使用管理员权限连接到Artifactory

1)为什么上面的代码不会创建在Artifactory中上传工件的存储库路径?

2)server.upload内部使用JFrog cli吗?

jenkins-pipeline artifactory jenkins-groovy jfrog-cli
2个回答
0
投票

1)仅在上载工件时才会在存储库下创建路径。如果没有发生错误并且未创建路径,我假设模式没有找到任何匹配并且没有上传任何工件。

至于你的评论,你可以通过将'failNoOp'设置为true来诊断问题,如果没有文件受到影响,这将使构建失败:

server.upload(uploadSpec, true) 

对于上传的每个工件,控制台输出还将包含一行“部署工件:/ path / to / artifact”。

2)不,Jenkins Artifactory插件根本不依赖于JFrog CLI。


-1
投票

你可以使用jfrog的REST API:https://www.jfrog.com/confluence/display/RTF/Artifactory+REST+API

并使用curl来放置你的神器。

例如。

sh("curl -u username:password@ -X PUT \"${mavenRepo}/${relativeMavenPath}/${serviceName}/${serviceTag}/${serviceName}-${serviceTag}.jar\" -T services.jar")
© www.soinside.com 2019 - 2024. All rights reserved.