注意:虽然这个问题涉及 Artifactory API,但实际上更多的是关于编写半复杂的 cURL 命令。
假设我在一个目录中myapp-1.5.jar
。假设我有一个 Artifactory 存储库位于http://artrepo01:8080/artifactory/libs-release-local
.
我想将 JAR 部署到:
libs-release-local/
myorg/
myapp/
1.5/
myapp-1.5.jar
根据Artifactory API 文档(用于Deploy Artifact端点),正确的方法是通过 HTTP PUT:
PUT /libs-release-local/my/jar/1.0/jar-1.0.jar
{
"uri": "http://artrepo01:8080/artifactory/libs-release-local",
"downloadUri": "http://artrepo01:8080/artifactory/libs-release-local",
"repo": "libs-release-local",
"path": "/myorg/myapp/1.5/myapp-1.5.jar",
"createdBy": "artadmin",
"mimeType": "application/java-archive",
}
问题:
- 将 JAR 正确 HTTP PUT 到此端点的确切 cURL 命令是什么?
- 当我尝试时
curl -X PUT http://artrepo01:8080/artifactory/libs-release-local/myorg/myapp/1.5/myapp.jar
(在这种情况下可能正确也可能不正确,不要担心上面的问题),我从 Artifactory 收到一个错误,指出匿名用户没有对 repo 的写权限。我相信这是因为我的 cURL 命令没有指定createdBy
用户 (artadmin
)。 - 如何
artadmin
在 PUT 调用中为用户指定密码?