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

And*_*ock 28 command-line artifactory gradle

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

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

scp <file> <remote>
Run Code Online (Sandbox Code Playgroud)

我目前正在尝试使用该artifactory插件,并且在查找插件的参考资料方面没什么好运的.

小智 39

卷曲POST对我不起作用.PUT工作正常.用法是

curl -X PUT $SERVER/$PATH/$FILE --data-binary @localfile
Run Code Online (Sandbox Code Playgroud)

例如:

$ curl -v --user username:password --data-binary @local-file -X PUT "http://<artifactory server >/artifactory/abc-snapshot-local/remotepath/remotefile"
Run Code Online (Sandbox Code Playgroud)

  • 请注意,工件不会自动处理校验和。要生成它们,必须包含“校验和”标头。即`curl -H“ X-Checksum-Md5:8a0daa40b5b6683897fa319b6a67c090” -H“ X-Checksum-Sha1:586d62d7f56b58dc12d32800ba025b424cfd7429”...。 (2认同)

小智 11

curl我建议使用jrogCLI ,而不是使用命令.

从这里下载 - https://www.jfrog.com/getcli/并使用以下命令(确保该文件是可执行的) -

./jfrog rt u <file-name> <upload-path>
Run Code Online (Sandbox Code Playgroud)

这是一个简单的例子:

./jfrog rt u sample-service-1.0.0.jar libs-release-local/com/sample-service/1.0.0/
Run Code Online (Sandbox Code Playgroud)

您将第一次提示输入凭据和repo URL.

您可以使用此CLI工具执行许多其他操作,请查看详细说明 - https://www.jfrog.com/confluence/display/RTF/JFrog+CLI.


JBa*_*uch 9

artifactory正如预期的那样,可以在Artifactory User Guide中找到该插件的文档.

请注意,建议使用较新的插件 - artifactory-publish,它支持新的Gradle发布模型.

关于从命令行上传,你真的不需要gradle.您可以使用CURL或任何其他工具执行简单的PUT查询.

当然,如果您只想将文件放入Artifactory,您可以随时通过UI进行部署.


Lar*_*Cai 5

看一下Artifactory REST API,大多数情况下你不能使用scp命令,而是使用curlREST API命令.

$ curl -X POST $SERVER/$PATH/$FILE --data @localfile
Run Code Online (Sandbox Code Playgroud)

它看起来很像

$ curl -X POST http://localhost:8081/artifactory/abc-snapshot-local/remotepath/remotefile --data @localfile
Run Code Online (Sandbox Code Playgroud)

scp仅当您确实要访问由其管理的内部文件夹时,才使用该命令artifactory


kaz*_*erm 5

$ 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
Run Code Online (Sandbox Code Playgroud)