持续集成篇-Maven私有库和本地库的安装与配置Sonatype Nexus + Maven

持续集成管理平台的组成与工作原理图

如果构建的Maven项目本地仓库没有对应的依赖包,那么就会去Nexus私服去下载, 那么如果Nexus私服也没有此依赖包,就回去远程中央仓库下载依赖, Nexus私服下载成功后再下载至本地Maven库供项目引用。

环境:CentOS 6.6 Final、JDK7、Sonatype Nexus、Maven IP:192.168.103.212

root 用户操作

前提:已安装 JDK7 并配置好了环境变量

1、下载最新版 Nexus(本教程使用的是:nexus-2.11.2-03-bundle.tar.gz),下载地址:

http://www.sonatype.org/nexus/go/

# wget https://sonatype-download.global.ssl.fastly.net/nexus/oss/nexus-2.11.2-
03-bundle.tar.gz

2、解压

# mkdir nexus

# tar -zxvf nexus-2.11.2-03-bundle.tar.gz -C nexus
# cd nexus

# ls

nexus-2.11.2-03 sonatype-work

(一个 nexus 服务,一个私有库目录)

3、编辑 Nexus 的 nexus.properties 文件,配置端口和 work 目录信息(保留默认)
# cd nexus-2.11.2-03

# ls

bin conf lib LICENSE.txt logs nexus NOTICE.txt tmp
查看目录结构,jetty 运行

# cd conf

# vi nexus.properties

# Jetty section
application-port=8081
application-host=0.0.0.0
nexus-webapp=${bundleBasedir}/nexus
nexus-webapp-context-path=/nexus

# Nexus section
nexus-work=${bundleBasedir}/../sonatype-work/nexus
runtime=${bundleBasedir}/nexus/WEB-INF

4、编辑 nexus 脚本, 配置 RUN_AS_USER 参数

# vi /root/nexus/nexus-2.11.2-03/bin/nexus

基于 Dubbo 的分布式系统架构视频教程
作者:吴水成,[email protected]

龙果学院 http://www.roncoo.com 微信公众号:RonCoo_com

#RUN_AS_USER=

改为:

RUN_AS_USER=root

5、防火墙中打开 8081 端口

# vi /etc/sysconfig/iptables

添加:

-A INPUT -m state --state NEW -m tcp -p tcp --dport 8081 -j ACCEPT
保存后重启防火墙

# service iptables restart

6、启动 nexus

# /root/nexus/nexus-2.11.2-03/bin/nexus start
****************************************
WARNING - NOT RECOMMENDED TO RUN AS ROOT
****************************************
Starting Nexus OSS...

Started Nexus OSS.

7、浏览器中打开:http://192.168.4.221:8081/nexus/

基于 Dubbo 的分布式系统架构视频教程
作者:吴水成,[email protected]

龙果学院 http://www.roncoo.com 微信公众号:RonCoo_com
8、登录,默认用户名 admin,默认密码 admin123:

到此,Nexus 已安装完成,接下来是 Nexus 的配置

基于 Dubbo 的分布式系统架构视频教程
作者:吴水成,[email protected]

龙果学院 http://www.roncoo.com 微信公众号:RonCoo_com
Nexus 配置(登录后)

1、菜单 Administration/Server 配置邮箱服务地址(如果忘记密码,可以通过该邮箱找回密
码)

给用户配置邮箱地址,方便忘记密码时找回:

用户修改密码

基于 Dubbo 的分布式系统架构视频教程 作者:吴水成,[email protected]

龙果学院 http://www.roncoo.com 微信公众号:RonCoo_com

2、仓库类型

group 仓库组:Nexus 通过仓库组的概念统一管理多个仓库,这样我们在项目中直接请

基于 Dubbo 的分布式系统架构视频教程 作者:吴水成,[email protected]

龙果学院 http://www.roncoo.com 微信公众号:RonCoo_com

proxy 代理仓库:代理公共的远程仓库; virtual 虚拟仓库:用于适配 Maven 1; 一般用到的仓库种类是 hosted、proxy

Hosted 仓库常用类型说明:

releases 内部的模块中 release 模块的发布仓库

snapshots 发布内部的 SNAPSHOT 模块的仓库

3rd party 第三方依赖的仓库,这个数据通常是由内部人员自行下载之后发布上去

如果构建的 Maven 项目本地仓库没有对应的依赖包,那么就会去 Nexus 私服去下载,

如果 Nexus 私服也没有此依赖包,就回去远程中央仓库下载依赖,这些中央仓库就是 proxy。
Nexus 私服下载成功后再下载至本地 Maven 库供项目引用。

3、设置 proxy 代理仓库(Apache Snapshots/Central/Codehaus Snapshots)准许远程下载,
如:

4、Maven 本地库的安装与配置(请看参考视频的操作)
环境变量、setting.xml

5、MyEclipse 中的 Maven 配置(请看参考视频的操作)

6、项目的构建与发布演示(请看参考视频的操作)

修改 common-parent 中的 pom.xml 中的私有库地址

7、上传第三方包操作演示

时间: 2024-08-08 13:59:28

持续集成篇-Maven私有库和本地库的安装与配置Sonatype Nexus + Maven的相关文章

Dubbo分布式系统架构,持续集成篇 Maven私有库和本地库的安装与配置 Sonatype Nexus + Maven

  环境:CentOS 6.6 Final.JDK7.SonatypeNexus.Maven IP:192.168.4.221 root用户操作 前提:已安装JDK7并配置好了环境变量 1.下载最新版Nexus(本教程使用的是:nexus-2.11.2-03-bundle.tar.gz),下载地址:http://www.sonatype.org/nexus/go/ # wget https://sonatype-download.global.ssl.fastly.net/nexus/oss/n

Maven私有库和本地库的安装与配置 Sonatype Nexus + Maven

环境:CentOS 6.6 Final.JDK7.SonatypeNexus.Maven IP:192.168.4.221 root用户操作 前提:已安装JDK7并配置好了环境变量 1.下载最新版Nexus(本教程使用的是:nexus-2.11.2-03-bundle.tar.gz),下载地址:http://www.sonatype.org/nexus/go/ # wget https://sonatype-download.global.ssl.fastly.net/nexus/oss/nex

linux学习:持续集成篇--Maven私有库和本地库的安装与配置-03

如果构建的Maven 项目本地仓库没有对应的依赖包,那么就会去Nexus 私服去下载,那么如果Nexus 私服也没有此依赖包,就回去远程中央仓库下载依赖,Nexus 私服下载成功后再下载至本地Maven 库供项目引用. maven私服器Sonatype Nexus的安装与配置 1.安装 1.1 下载 Nexus(这里使用的是:nexus-2.11.2-03-bundle.tar.gz) http://www.sonatype.org/nexus/go/ 1.2 解压:因为解压后有两个文件夹,所以

linux学习:持续集成篇--sonarqube代码质量管理平台的介绍与安装-04

1.SonarQube的介绍 官网:https://www.sonarqube.org/ SonarQube是一个管理代码质量的开放平台.  1.1 可以从七个维度检测代码质量(为什么要用SonarQube) (1)复杂度分布(complexity):代码复杂度过高将难以理解.难以维护 (2)重复代码(duplications):程序中包含大量复制粘贴的代码是质量低下的表现 (3)单元测试(unit tests):统计并展示单元测试覆盖率 (4)编码规范(coding rules):通过Find

linux学习:持续集成篇--简介-01

1.持续集成介绍 持续集成是一种软件开发实践 团队开发成员经常集成他们的工作,每次集成都通过自动化构建(包括自动化编译.测试.发布)来验证,从而尽快的发现集成错误 持续集成的价值.要素.原则 原则 1. 所有的开发人员需要在本地机器上做本地构建,然后再提交的版本控制库中,从而确保他们的变更不会导致持续集成失败. 2. 开发人员每天至少向版本控制库中提交一次代码. 3. 开发人员每天至少需要从版本控制库中更新一次代码到本地机器. 4. 需要有专门的集成服务器来执行集成构建,每天要执行多次构建. 5

在 Docker 搭建 Maven 私有库

在 Docker 搭建 Maven 私有库 小引 If you are developing software without a repository manager you are likely missing a number of opportunities to reduce some pretty obvious inefficiencies. If everyone on your team has to hit public repositories like the Centr

持续集成篇SonarQube 代码质量管理平台的安装

持续集成篇 SonarQube 代码质量管理平台的安装 -------------------------------- 1.SonarQube的介绍 SonarQube是一个管理代码质量的开放平台. 可以从七个维度检测代码质量(为什么要用SonarQube): (1) 复杂度分布(complexity):代码复杂度过高将难以理解.难以维护 (2) 重复代码(duplications):程序中包含大量复制粘贴的代码是质量低下的表现 (3) 单元测试(unit tests):统计并展示单元测试覆盖

As发布aar到maven私有库

As发布aar到maven私有库,按照网上的例子我试了几次,可以发布成功,但是死活,implementation下载到本地,不能自动import,通过查看external libraries发现同步过来的classes.jar下面没有内容.当时没放在心上,有其他事要做,还加班到深夜. 接下来两天,心里始终有个疙瘩.因为我们要做的东西直接as生成的aar是可以本地使用的,公司也有自己的maven私有库,供外网访问,如果不能用as直接发布到上面好使毕竟不好.也试过手动把aar上传到Maven私服Ne

持续集成篇--Hudson持续集成服务器的安装配置与使用

IP:192.168.4.221  8G内存(Hudson多个工程在同时构建的情况下比较耗内存) 环境:CentOS 6.6.JDK7 Hudson不需要用到数据库 参考:http://www.roncoo.com/index.html Hudson只是一个持续集成服务器(持续集成工具),要想搭建一套完整的持续集成管理平台,还需要用到前面课程中所讲到的SVN.Maven.Sonar等工具,按需求整合则可. 1.  安装JDK并配置环境变量(略) JAVA_HOME=/usr/local/java