持续集成(1)--配置maven使用nexus
来源:互联网 发布:大数据顶尖企业 编辑:程序博客网 时间:2024/05/20 02:27
(1)在默认情况下,Maven依赖于中央仓库,这是为了能让Maven开箱即用,但仅仅这么做明显是错误的,这会造成大量的时间及带宽的浪费。既然文章的前面已经介绍了如何安装和配置Nexus,现在我们就要配置Maven来使用本地的Nexus,以节省时间和带宽资源。
(2)我们可以将Repository配置到POM中,但一般来说这不是很好的做法,原因很简单,你需要为所有的Maven项目重复该配置。因此,这里我将Repository的配置放到$user_home/.m2/settings.xml中:
<profile><id>hitvdev</id>
<repository>
<id>local-nexus</id>
<url>http://10.10.30.230:8081/nexus/content/groups/public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</profile>
(3)由于我们不能直接在settings.xml中插入<repositories>元素,这里我们需要编写一个profile,并添加了一个profile并使用<activeProfile>元素自动将这个profile激活。这里的local-nexus仓库指向了刚才我们配置的Nexus中“Public Repositories”仓库组,也就是说,所有该仓库组包含的仓库都能供我们使用。此外,我们通过<releases>和<snapshots>元素激活了Maven对于仓库所有类型构件下载的支持,当然你也可以调节该配置,比如说禁止Maven从Nexus下载snapshot构件。
<activeProfiles><activeProfile>hitvdev</activeProfile>
</activeProfiles>
(4)通过Maven进行部署,更常见的场景是:团队在开发一个项目的各个模块,为了让自己开发的模块能够快速让其他人使用,你会想要将snapshot版本的构件部署到Maven仓库中,其他人只需要在POM添加一个对于你开发模块的依赖,就能随时拿到最新的snapshot。
以下的pom.xml配置和settings.xml能让你通过Maven自动化部署构件:
<project>...
<distributionManagement>
<repository>
<id>nexus-releases</id>
<name>Nexus Release Repository</name>
<url>http://127.0.0.1:8080/nexus/content/repositories/releases/</url>
</repository>
<snapshotRepository>
<id>nexus-snapshots</id>
<name>Nexus Snapshot Repository</name>
<url>http://127.0.0.1:8080/nexus/content/repositories/snapshots/</url>
</snapshotRepository>
</distributionManagement>
...
</project>
(5)修改setting文件
- <settings>
- ...
- <servers>
- <server>
- <id>nexus-releases</id>
- <username>admin</username>
- <password>admin123</password>
- </server>
- <server>
- <id>nexus-snapshots</id>
- <username>admin</username>
- <password>admin123</password>
- </server>
- </servers>
- ...
- </settings>
(6)这里我们配置所有的snapshot版本构件部署到Nexus的Snapshots仓库中, 所有的release构件部署到Nexus的Releases仓库中。由于部署需要登陆,因为我们在settings.xml中配置对应Repository id的用户名和密码。
然后,在项目目录中执行mvn deploy ,你会看到maven将项目构件部署到Nexus中,浏览Nexus对应的仓库,就可以看到刚才部署的构件。当其他人构建其项目时,Maven就会从Nexus寻找依赖并下载。
- 持续集成(1)--配置maven使用nexus
- Centos7+svn+jenkins+maven+nexus+SonarQube+docker持续集成高级配置(三)
- 使用Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(一)
- 使用Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(一)
- 使用Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(二)
- 使用Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(一)
- 使用Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(二)
- 使用Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(一)
- 使用Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(二)
- 持续集成--Maven私有库和本地库的安装与配置 Sonatype Nexus + Maven
- 持续集成篇_04_maven私有库和本地库的安装与配置(sonatype nexus + maven)
- 配置maven使用nexus
- Maven配置使用Nexus
- 分布式架构学习之持续集成:010--Maven私有库和本地库的安装与配置(Sonatype Nexus + Maven)
- Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(二)
- Centos7+svn+jenkins+maven+nexus+SonarQube+docker持续集成安装(一)
- Centos7+svn+jenkins+maven+nexus+SonarQube+docker持续集成安装(二)
- 持续集成之nexus私服(五)
- C#调用c++Dll结构体数组指针的问题
- SOJ 2666 分解n!
- 《深入理解计算机系统》(第二版)第二章练习题4
- (转)Combobox 输入的关键字模糊下拉出相应的内容
- 【转】makefile 获取指定目录下源文件名称
- 持续集成(1)--配置maven使用nexus
- 我是残疾人--我近视
- 面试题——跑马灯
- 软件工程师与商人的区别
- 快速排序,冒泡排序,插入排序 完整示例
- android--Spinner(菜单下拉控件)
- ldr与adr的区别
- CAS-Client客户端研究(五)-SingleSignOutFilter
- url编码混乱下下载工具如何应对