0

注意:虽然这个问题涉及 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 调用中为用户指定密码?
4

1 回答 1

1

你的查询很好。-u只需使用标志添加用户名和密码:

curl -X PUT -u artadmin:password http://artrepo01:8080/artifactory/libs-release-local/myorg/myapp/1.5/myapp-1.5.jar

于 2014-04-25T16:58:55.500 回答