Docker自动构build从Maven Sonatype Nexus存储库下载私人jar子

我正在build设一个开发渠道。 Docker镜像将在我的Java应用程序的成功和testing版本被部署到私有 Maven仓库(Sonatype Nexus)后自动创build。

一旦我的应用程序构build成功,我需要将它发布到某处,Docker需要有权下载它并创build一个容器。

我想Docker访问Nexus Maven仓库,但我没有find如何从一个私人存储库下载一个jar子。 我没有在Nexus文档中find如何通过身份validation参数来访问专用URL。 有谁知道吗?

PS:我也接受更简单的解决scheme来达到这个目的。

如果你正在使用maven

 mvn dependency:copy -Dartifact=groupId:artifactId:version[:packaging][:classifier] -DoutputDirectory=[target] -Dusername=[username] -Dpassword=[password] 

我刚刚发现我可以用cURL来做。 例:

 curl -u username:password -o myapp.war "http://nexus.mycompany.com/service/local/artifact/maven/redirect?r=snapshots&g=com.company&a=MyApp&v=1.0-SNAPSHOT&p=war" -L 

de -L标志在哪里接受redirect(301响应)。

所以,在docker-compose.yml我有这样一行:

 RUN curl -u username:password -o myapp.war "http://nexus.mycompany.com/service/local/artifact/maven/redirect?r=snapshots&g=com.company&a=MyApp&v=1.0-SNAPSHOT&p=war" -L