如何使用命令行将文件部署到Artifactory?

时间:2013-11-19 00:04:00

标签: command-line gradle artifactory

我花了很多时间在这上面,而不是承认。我试图从命令行将一个文件部署到我的Artifactory服务器中。我正在使用gradle这样做,因为这是我们管理Java构建的方式。但是,此工件是NDK / JNI构建工件,并且不使用gradle。

所以我只需要最简单的gradle脚本来进行部署。相当于:

的东西
scp <file> <remote>

我目前正在尝试使用artifactory插件,并且很难找到该插件的参考资料。

6 个答案:

答案 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)

讽刺的是,我回答了自己的问题。经过几个小时处理问题后,我在github上找到了一个示例项目:https://github.com/JFrogDev/project-examples

该项目甚至包括一个简单的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