• 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依赖中替换本地依赖

  • 相关阅读:
    SpringMVC之文件上传
    Spring之jdbc【继承JdbcDaoSupport】
    Spring中jdbcTemplate的用户实例
    SpringMVC之数据存储
    SpringMVC的日期转换
    SpringMVC配置解决中文乱码的过滤器
    【对数据库操作的封装成工具类之jdbc】
    实现用户注册与登入功能的案例
    【反射之Field】获取字段
    Can't get WebApplicationContext object from ContextRegistry.GetContext(): Resource handler for the 'web' protocol is not defined
  • 原文地址:https://www.cnblogs.com/binjz/p/11215668.html
Copyright © 2020-2023  润新知