【问题标题】:How to upload file to artifactory generic repository with gradle?如何使用 gradle 将文件上传到工件通用存储库?
【发布时间】:2015-08-26 13:14:07
【问题描述】:

我使用 gradle 构建应用程序分发,其中一个 tar 文件包含所需的一切。我在工件中创建了一个通用存储库。我想将 tarball 上传到通用存储库。

通过查找此文档 http://www.jfrog.com/confluence/display/RTF/Gradle+Artifactory+Plugin

我没有找到这样做的方法。 我是一个新的gradle和artifactory用户,谁能给我指导。

task uploadDistroTar(type: org._10ne.gradle.rest.RestTask) {
    httpMethod = 'PUT'
    uri = 'http://x.x.x.x:8081/artifactory/repo/foo.tar'
    username = 'admin'
    password = 'passwd'
    requestContentType = groovyx.net.http.ContentType.BINARY
    requestBody = new File("build/distributions/foo.tar").bytes
}

【问题讨论】:

    标签: gradle artifactory


    【解决方案1】:

    最简单的方法是使用Gradle REST plugin。只需使用 PUT 请求将文件上传到您想要的存储库。

    【讨论】:

    • 感谢您的回复,但是当我使用以下任务上传 tar 文件时由于安全原因失败,在工件日志中显示 2015-08-27 12:11:03,928 [DENIED DEPLOY ] repo:/foo.tar for anonymous/x.x.x.x 没有使用我提供的用户名,而是使用匿名用户。如果我授予匿名使用权限来放置文件,那么我可以成功上传 tar 文件。但我希望只有一些注册用户能够上传文件。我已将任务文件修改为问题
    • 是时候召唤插件作者@noamt了。
    【解决方案2】:

    更现代的解决方案是使用Artifactory Java Client:

    Artifactory artifactory = ArtifactoryClientBuilder.create()
        .setUrl("ArtifactoryUrl")
        .setUsername("username")
        .setPassword("password")
        .build();
    
    java.io.File file = new java.io.File("fileToUpload.txt");
    File result = artifactory.repository("RepoName").upload("path/to/newName.txt", file).doUpload();
    

    【讨论】:

    • 使用最新 2.5.1 的 Artifactory Java 客户端我总是在 org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient) 收到一个:{code} org.apache.http.client.ClientProtocolException .java:187) *** cut *** 原因:org.apache.http.client.NonRepeatableRequestException:无法用不可重复的请求实体重试请求。在 org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:226) {code} - 有人知道为什么吗?提前致谢。
    【解决方案3】:

    最后我通过阅读插件的源代码找到了解决方案, 刚刚设置:

    preemptiveAuth = true
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-07-15
      • 2015-04-22
      • 1970-01-01
      • 1970-01-01
      • 2021-09-04
      • 2014-04-16
      • 2016-05-30
      相关资源
      最近更新 更多