2015-08-26 28 views
1

我使用Gradle構建應用程序分發,其中tar文件包含所需的所有內容。我在artifactory中創建了一個通用庫。我想將tarball上傳到通用存儲庫。如何使用gradle將文件上傳到artifactory通用存儲庫?

通過查找該文件 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 
} 

回答

2

最簡單的方法是使用Gradle REST plugin。只需使用PUT請求將文件上傳到您想要的存儲庫即可。

+0

感謝您的答覆,但是當我用下面的任務上傳tar文件 它失敗,因爲安全原因,在artifactory日誌中顯示 2015-08-27 12:11:03,928 [DENIED DEPLOY] repo:/foo.tar for anonymous/xxxx 它沒有使用我提供的用戶名,而是使用匿名用戶。如果我提供匿名使用權限來放置文件,那麼我可以成功上傳tar文件。但我只想要一些註冊用戶能夠上傳文件。 我已將任務文件修改爲問題 – sleetdrop

+0

這是召集插件作者@noamt的時候。 – JBaruch

0

最後,我發現通過閱讀插件的源代碼解決方案, 只需設置:

preemptiveAuth = true 
相關問題