Docker搭建nexus3.1管理Maven私服,上传jar包

Docker搭建nexus3.1管理Maven私服,以及上传jar包

1-Docker安装

 #通过 **uname -r** 命令查看你当前的内核版本,内核版本要高于3.10
 $ uname -r
 
 #使用 root 权限登录 Centos。确保 yum 包更新到最新。
 $ sudo yum update
 
 #卸载旧版本(如果安装过旧版本的话)
 $ sudo yum remove docker  docker-common docker-selinux docker-engine
 
 #安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
 $ sudo yum install -y yum-utils device-mapper-persistent-data lvm2
 
 #设置yum源
 $ sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
 
 #可以查看所有仓库中所有docker版本,并选择特定版本安装
 $ yum list docker-ce --showduplicates | sort -r
 
 #安装docker,例如sudo yum install docker-ce-17.12.1.ce
 $ sudo yum install <FQPN>
 
 #启动并加入开机启动
 $ sudo systemctl start docker
 $ sudo systemctl enable docker
 
 #验证安装是否成功(有client和service两部分表示docker安装启动都成功了)
 $ docker version

2-Docker安装nexus

 #搜索镜像
 $ docker search nexus;

 #拉取nexus镜像,选stars多的
 $ docker pull sonatype/nexus; 
 
 #运行pull的nexus
-id 创建守护式容器
--privileged=true 授予root权限(挂载多级目录必须为true,否则容器访问宿主机权限不足)
--name=名字 给你的容器起个名字
-p 宿主机端口:容器端口映射
-v 宿主机目录:容器目录 目录挂载

docker run -d -p 8081:8081 --name nexus -v /root/nexus-data:/var/nexus-data --restart=always sonatype/nexus3


sonatype/nexus3.0以后密码文件查看,进入容器,cat /nexus-data/admin.password

 #docker常用命令
 $ docker ps					#查看运行实例 
 $ docker ps -a				#查看全部实例
 $ docker inspect 容器id		   #查询容器信息
 $ docker stop/start 容器id 	   #停止/开始容器id
 $ docker rm 容器id 			   #删除容器id
 $ docker exec -it 容器id bash  #进去容器内部 Exit退出
 $ docker stop nexus  			#停止nexus
 $ docker start nexus 			#启动nexus 启动时间大约1分钟
 $ docker cp 容器ID/容器name:容器目录 当前宿主机的文件  	#文件从容器复制到宿主机
 $ docker cp 当前宿主机的文件 容器ID或者容器name:容器目录		#宿主机文件到容器
 

3-访问nexus

http://172.31.193.203:8081/ #http://私服ip:8081/

点击右上方的Sign in进行登录,初始账号密码为前面进容器看的一长串哈希值,登录后修改密码

nexus3.0 以上版本,没有内置的3rd_part,所以不支持直接在界面上传jar包

可以手动创建一个3rd_part,也可以直接用maven-pubic(反正私服局域网)

img

4-配置本地Maven的settings.xml

  <servers>
    <!--ID名字随意,需要和下面pom.xml一样,账号密码和nexus创建user一样,admin管理员-->
	<server>
      <id>deploy-release</id>
      <username>admin</username>
      <password>admin123</password>
    </server>
    <server>
      <id>deploy-snapshot</id>
      <username>admin</username>
      <password>admin123</password>
    </server>
      
  
    <!-- 私服地址 -->
  	<mirror>
          <id>deploy-release</id>
          <mirrorOf>central</mirrorOf>
          <name>deploy central</name>
          <url>http://172.31.193.203:8081/repository/maven-public/</url>
    </mirror>
    

5-配置pom.xml测试打包上传jar包

distributionManagement将jar包推到指定的远程仓库

	<distributionManagement>
		<repository>
            <!-- id要和settings.xml中server的一致 -->
			<id>deploy-release</id>
			<url>http://172.31.193.203:8081/repository/maven-releases/</url>
		</repository>

		<snapshotRepository>
			<id>deploy-snapshot</id>
			<url>http://172.31.193.203:8081/repository/maven-snapshots/</url>
		</snapshotRepository>
	</distributionManagement>

	<build>
		<plugins>
			<!--发布代码Jar插件-->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-deploy-plugin</artifactId>
				<version>2.7</version>
			</plugin>
			<!--发布源码插件-->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-source-plugin</artifactId>
				<version>2.2.1</version>
				<executions>
					<execution>
						<phase>package</phase>
						<goals>
							<goal>jar</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
			</plugin>
		</plugins>
	</build>

IDEA-run deploy(IDEA中将jar包推送到maven私服)

image

Eclipse-run deploy(Eclipse中将jar包推送到maven私服)

run as ==> maven build ==> Goals:clean package deploy ==> run

image

6-测试jar包

访问http://主机ip:8081/service/rest/repository/browse/maven-public/

image

将右边dependency导入本地项目pom.xml依赖中替换本地依赖

posted @ 2019-07-19 20:50  Jibny  阅读(725)  评论(0编辑  收藏  举报