通过REST API,POST将工件发布到Nexus

Mat*_*ell 3 rest publish nexus

不要用Nexus管理精明......

在"手动"上传工件时打开控制台查看网络调用.想要跳过使用Maven或Ivy上传到Nexus.一切查询都通过ExtJS XHR调用,除了发布工件信息,这些信息在Chrome开发者工具中显示为文档调用(假设这是通过ExtJS发布的表单提交).

没有尝试使用curl进行模拟(如果可能的话,不知道如何在curl中处理多部分表单)但这是除了从Ivy或Maven进行传统发布之外"发布"工件的唯一方法吗?看起来Nexus有一个Java API但希望保留在REST HTTP世界中(希望Nexus REST服务基本上可以使用apache的HTTPCLIENT等多部分表单发布).

Ed *_*d I 18

使用卷曲:

curl -v \
    -F "r=releases" \
    -F "g=com.acme.widgets" \
    -F "a=widget" \
    -F "v=0.1-1" \
    -F "p=tar.gz" \
    -F "file=@./widget-0.1-1.tar.gz" \
    -u myuser:mypassword \
    http://localhost:8081/nexus/service/local/artifact/maven/content
Run Code Online (Sandbox Code Playgroud)

对于不使用maven的人来说,这将适用于非java依赖项.请参阅我对此答案的评论:https://stackoverflow.com/a/19699327/231573.

  • 我得到"405 Method Not Allowed"作为响应状态.它说"此URL不支持HTTP方法POST".我是否必须安装或启用某些东西才能从Rest API中受益. (2认同)