基于Nexus搭建私有Maven仓库指南
基于Nexus搭建私有Maven仓库指南。云效提供了企业级Maven私有仓库服务,用户可以使用它来托管自己的私有二方库。用户也可以自己搭建Maven***。以下是使用Nexus搭建云效Maven***的指南,可以在云效中使用Nexus搭建自己的Maven仓库。
假设您的Nexus服务器的域名(或者您倾向于直接使用IP也可以)是www.your-repo.com
保证***公网可见
首先要保证您的***在公网是可见的,这样云效才能从您的***下载二方包。验证方式:在一台您的企业内网之外的机器上执行telnet www.your-repo.com 80,如果没有返回错误,则表示该***是公网可见的。
保证***中的库不能被匿名下载
Nexus默认的配置,允许匿名下载maven库中的包。需要将其禁止掉。具体做法如下。
开启下载包的HTTP认证
在nexus-default.properties添加一行nexus.browserdetector.disable=true。重启nexus。
关闭匿名用户
创建用户上传和下载二方包的maven库
为maven库创建用户
在settings.xml中添加认证信息
在Maven的的默认settings.xml中找到servers的部分,添加一个server配置如下。
<server> <id>my-lib-repo</id> <username>my-lib-repo-reader</username> <password>my-lib-repo-reader</password> </server>
为了保证云效使用该settings.xml,需要把该settings.xml文件放置到您的代码库的根目录。
配置pom.xml的下载包顺序
为了让您的Maven构建先尝试从maven.aliyun.com下载包,如果下载不到再从http://www.your-repo.com/repository/my-lib-repo下载包,需要按照如下的方式配置pom.xml:
<project> ... <repositories> <repository> <id>aliyun-repo</id> <url>http://maven.aliyun.com/nexus/content/groups/public</url> </repository> <repository> <id>my-lib-repo</id> <url>http://www.your-repo.com/repository/my-lib-repo/</url> </repository> </repositories> <pluginRepositories> <pluginRepository> <id>central</id> <url>http://maven.aliyun.com/nexus/content/groups/public</url> </pluginRepository> <pluginRepository> <id>my-lib-repo</id> <url>http://www.your-repo.com/repository/my-lib-repo/</url> </pluginRepository> </pluginRepositories> ... </project>
您的maven构建无论下载依赖包还是插件包,都会首先尝试从maven.aliyun.com下载,如果下载不到,再从http://www.your-repo.com/repository/my-lib-repo/下载。
发布二方包
同时要在自己的pom.xml中添加配置如下:
<distributionManagement> <repository> <id>my-lib-repo</id> <url>http://www.your-repo.com/repository/my-lib-repo/</url> </repository> </distributionManagement>
然后就可以在构建配置的build.command中使用mvn deploy命令上传二方包了。
样例文件如下:
关于我们
了解更多关于云效DevOps的最新动态,可微信搜索关注【云效】公众号;
彩蛋:公众号后台回复【指南】,可获得《阿里巴巴DevOps实践指南》&《10倍研发效能提升案例集》;
看完觉得对您有所帮助别忘记点赞、收藏和关注呦;
基恩士成长空间 446人发布