如何在 Nexus Repository Manager OSS 3 中手动部署工件
How to manually deploy artifacts in Nexus Repository Manager OSS 3
安装 Nexus Repository Manager OSS 3 后,我没有看到通过网页上传工件的选项 Artifact Upload
。
在 Nexus Repository Manager OSS 2.13 中有执行该操作的选项。
谁能告诉我如何将工件上传到 Nexus 3 中的托管存储库?
编辑:从 3.9.0 版本开始,实现了此功能。
您可以通过其本机发布功能(例如 maven deploy、npm publish)上传工件。
您还可以通过简单的 curl 请求将工件上传到 "raw" 存储库,例如
curl --fail -u admin:admin123 --upload-file foo.jar 'http://my-nexus-server.com:8081/repository/my-raw-repo/'
Nexus 3 中的 UI 当前未实现此功能(请参阅 https://issues.sonatype.org/browse/NEXUS-10121)。
您需要使用 curl
或 mvn deploy
或其他一些选项。
我正在使用 maven 部署文件。
mvn deploy:deploy-file -DgroupId=my.group.id \
-DartifactId=my-artifact-id \
-Dversion=1.0.0.1 \
-Dpackaging=jar \
-Dfile=foo.jar \
-DgeneratePom=true \
-DrepositoryId=my-repo \
-Durl=http://my-nexus-server.com:8081/repository/maven-releases/
更新:
如注释中所述,在 url 中使用引号导致 NoSuchElementException
但是我在我的 Maven 中添加了服务器配置 (~/.m2/settings.xml).
<servers>
<server>
<id>my-repo</id>
<username>admin</username>
<password>admin123</password>
</server>
</servers>
参考文献:
我的团队构建了一个用于将工件上传到 nexus 3.x 存储库的命令行工具,也许它会对您有所帮助 - Maven Artifacts Uploader
我的团队使用 Gradle 和 Nexus OSS 3.5.2,
我找到了 解决方案:从 localhost 上传工件(我检查了 Nexus 文档,没有发现任何关于从文件夹上传工件的信息) => 我有共享目录(使用 Apache httpd)并将其中一个连接到创建的新 Nexus 代理存储库。现在,当我想 添加 我自己的 工件时 我可以将它们上传到远程服务器的共享目录中。
也许有人觉得我的解决方案有用:
我的问题在这里:
这在 Nexus 3.9.0 版本后实现。
- 登录
- Select上传
- 填写表格并上传 Artifact
对于Windows:
mvn deploy:deploy-file -DgroupId=joda-time -DartifactId=joda-time -Dversion=2.7 -Dpackaging=jar -Dfile=joda-time-2.7.jar
-DgeneratePom=true -DrepositoryId=[Your ID] -Durl=[YourURL]
要使用 mvn deploy:deploy-file,必须添加 ~./m2/settings.xml
<settings>
<servers>
<server>
<id>nexus-repo</id>
<username>admin</username>
<password>admin123</password>
</server>
</servers>
</settings>
命令:
mvn deploy:deploy-file -DgroupId=com.example \
-DartifactId=my-app \
-Dversion=2.0.0 \
-Dpackaging=jar \
-Dfile=my-app.jar \
-DgeneratePom=true \
-DrepositoryId=nexus-repo \
-Durl=http://localhost:8081/repository/maven-releases/
安装 Nexus Repository Manager OSS 3 后,我没有看到通过网页上传工件的选项 Artifact Upload
。
在 Nexus Repository Manager OSS 2.13 中有执行该操作的选项。
谁能告诉我如何将工件上传到 Nexus 3 中的托管存储库?
编辑:从 3.9.0 版本开始,实现了此功能。
您可以通过其本机发布功能(例如 maven deploy、npm publish)上传工件。
您还可以通过简单的 curl 请求将工件上传到 "raw" 存储库,例如
curl --fail -u admin:admin123 --upload-file foo.jar 'http://my-nexus-server.com:8081/repository/my-raw-repo/'
Nexus 3 中的 UI 当前未实现此功能(请参阅 https://issues.sonatype.org/browse/NEXUS-10121)。
您需要使用 curl
或 mvn deploy
或其他一些选项。
我正在使用 maven 部署文件。
mvn deploy:deploy-file -DgroupId=my.group.id \
-DartifactId=my-artifact-id \
-Dversion=1.0.0.1 \
-Dpackaging=jar \
-Dfile=foo.jar \
-DgeneratePom=true \
-DrepositoryId=my-repo \
-Durl=http://my-nexus-server.com:8081/repository/maven-releases/
更新:
如注释中所述,在 url 中使用引号导致 NoSuchElementException
但是我在我的 Maven 中添加了服务器配置 (~/.m2/settings.xml).
<servers>
<server>
<id>my-repo</id>
<username>admin</username>
<password>admin123</password>
</server>
</servers>
参考文献:
我的团队构建了一个用于将工件上传到 nexus 3.x 存储库的命令行工具,也许它会对您有所帮助 - Maven Artifacts Uploader
我的团队使用 Gradle 和 Nexus OSS 3.5.2,
我找到了 解决方案:从 localhost 上传工件(我检查了 Nexus 文档,没有发现任何关于从文件夹上传工件的信息) => 我有共享目录(使用 Apache httpd)并将其中一个连接到创建的新 Nexus 代理存储库。现在,当我想 添加 我自己的 工件时 我可以将它们上传到远程服务器的共享目录中。
也许有人觉得我的解决方案有用:
我的问题在这里:
这在 Nexus 3.9.0 版本后实现。
- 登录
- Select上传
- 填写表格并上传 Artifact
对于Windows:
mvn deploy:deploy-file -DgroupId=joda-time -DartifactId=joda-time -Dversion=2.7 -Dpackaging=jar -Dfile=joda-time-2.7.jar
-DgeneratePom=true -DrepositoryId=[Your ID] -Durl=[YourURL]
要使用 mvn deploy:deploy-file,必须添加 ~./m2/settings.xml
<settings>
<servers>
<server>
<id>nexus-repo</id>
<username>admin</username>
<password>admin123</password>
</server>
</servers>
</settings>
命令:
mvn deploy:deploy-file -DgroupId=com.example \
-DartifactId=my-app \
-Dversion=2.0.0 \
-Dpackaging=jar \
-Dfile=my-app.jar \
-DgeneratePom=true \
-DrepositoryId=nexus-repo \
-Durl=http://localhost:8081/repository/maven-releases/