我花了很多时间在这上面,而不是承认。我试图从命令行将一个文件部署到我的Artifactory服务器中。我正在使用gradle这样做,因为这是我们管理Java构建的方式。但是,此工件是NDK / JNI构建工件,并且不使用gradle。
所以我只需要最简单的gradle脚本来进行部署。相当于:
的东西scp <file> <remote>
我目前正在尝试使用artifactory
插件,并且很难找到该插件的参考资料。
答案 0 :(得分:39)
卷曲POST对我不起作用。 PUT工作正常。用法是
curl -X PUT $SERVER/$PATH/$FILE --data-binary @localfile
示例:
$ curl -v --user username:password --data-binary @local-file -X PUT "http://<artifactory server >/artifactory/abc-snapshot-local/remotepath/remotefile"
答案 1 :(得分:11)
我建议使用curl
CLI。
jrog
命令
从这里下载 - https://www.jfrog.com/getcli/并使用以下命令(确保文件可执行) -
./jfrog rt u <file-name> <upload-path>
这是一个简单的例子:
./jfrog rt u sample-service-1.0.0.jar libs-release-local/com/sample-service/1.0.0/
首次提示您输入凭据和回购网址。
您可以使用此CLI工具执行许多其他操作,请查看此处的详细说明 - https://www.jfrog.com/confluence/display/RTF/JFrog+CLI。
答案 2 :(得分:9)
可以在Artifactory User Guide中找到artifactory
插件的文档,如预期的那样。
请注意,我们建议您使用较新的插件 - artifactory-publish,它支持新的Gradle发布模型。
关于从命令行上传,你真的不需要gradle。您可以使用CURL或任何其他工具执行simple PUT query。
当然,如果您只想将文件存入Artifactory,您可以随时deploy it via the UI。
答案 3 :(得分:5)
看看Artifactory REST API,主要是你不能使用scp
命令,而是使用curl
命令来使用REST API。
$ curl -X POST $SERVER/$PATH/$FILE --data @localfile
大部分看起来像是
$ curl -X POST http://localhost:8081/artifactory/abc-snapshot-local/remotepath/remotefile --data @localfile
scp
命令仅在您确实要访问由artifactory
答案 4 :(得分:2)
该项目甚至包括一个简单的bash脚本,用于从我正在寻找的命令行进行精确的部署/复制,以及一些不那么简单的gradle脚本。
答案 5 :(得分:1)
$ curl -v -X PUT \
--user username:password \
--upload-file <path to your file> \
http://localhost:8080/artifactory/libs-release-local/my/jar/1.0/jar-1.0.jar