搭建nexus上传jar包,并结合jenkins运行项目

一、搭建nexus

1、docker拉取镜像

需要将docker原更新一下

https://blog.csdn.net/qx020814/article/details/140908006?spm=1001.2014.3001.5502

bash 复制代码
docker pull sonatype/nexus3

创建nexus挂载文件、增加权限:

bash 复制代码
mkdir docker_nexus3
mkdir docker_nexus3/nexus-data
chown -R 200 docker_nexus3/nexus-data
chmod 777 docker_nexus3/nexus-data/

2、运行镜像

bash 复制代码
docker run -d --name=nuxus -v /docker_nexus3/nexus-data:/nexus-data -p 6000:6000 -p 8088:8081 sonatype/nexus3:latest

查看默认的admin密码:

cat docker_nexus3/nexus-data/admin.password

访问页面服务器ip:8088

没有登录时,只能查看数据

右上角登录后,就可以配置自己的仓库了

这里nexus默认创建了一个maven的仓库,分为四个:

使用Nexus3搭建Maven私服+上传第三方jar包到本地maven仓库 - Endv - 博客园 (cnblogs.com)

Hosted有三种方式,Releases、SNAPSHOT、Mixed

Releases: 一般是已经发布的Jar包

Snapshot: 未发布的版本

Mixed:混合的

3、添加jar包

我是直接在hosted 标识的仓库下添加jar包,添加后,会同步到group中:

我上班的时候,用第三方的私有jar包,老是看不见源码,也就没有注释,所以我这里专门去查了

如何吧源码加到仓库中:

(1)、增加一个打包源码的插件:

XML 复制代码
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-source-plugin</artifactId>
                <version>3.0.0</version>
                <executions>
                    <execution>
                        <id>attach-sources</id>
                        <phase>verify</phase>
                        <goals>
                            <goal>jar-no-fork</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

(2)、打包源码:

XML 复制代码
 mvn source:jar

然后就能在项目目标文件下查找到了:

写好唯一地址标识:

4、引用私有仓库jar包

修改Maven配置

XML 复制代码
  <servers>
<server>
    <id>my_maven</id>
    <username>admin</username>
    <password>123456</password>
</server>

  </servers>

  <!-- mirrors
   | This is a list of mirrors to be used in downloading artifacts from remote repositories.
   |
   | It works like this: a POM may declare a repository to use in resolving certain artifacts.
   | However, this repository may have problems with heavy traffic at times, so people have mirrored
   | it to several places.
   |
   | That repository definition will have a unique id, so we can create a mirror reference for that
   | repository, to be used as an alternate download site. The mirror site will be the preferred
   | server for that repository.
   |  -->
  <mirrors>
  
    <mirror>
     <id>my_maven</id>
     <mirrorOf>central</mirrorOf>
     <name>本地私有仓库</name>
     <url>http://192.168.126.160:8088/repository/maven-public/</url>
    </mirror>
	
  </mirrors>

分别是添加用户密码、设置仓库地址 id自定义、mirrorOf固定central、name自定义、url在nexus中复制:

然后和以前一样,引用jar包就可以了,但是这里要想查看源码,必须吧源码也引用一次,不知道为啥:

二、修改jenkis的maven配置文件

我这里直接查找了jenkins的maven地址,然后吧配置文件替换了,最简单、有效果的方法就是这个:

XML 复制代码
find / -name "settings.xml"

咱们刚开始运行docker的时候,把jenkins的文件挂载到宿主机上的,所以直接需改宿主机上的文件就好。

我本来是在jenkins网页端配置了,一直使用原配置文件,索性就把原配置文件给它改掉,我看它还报不报错!!

相关推荐
阿智@1142 分钟前
Node.js 助力前端开发:自动化操作实战
运维·前端·node.js·自动化
万万君44 分钟前
Linux 更改Jenkins使用其他账户启动
linux·jenkins
赤叶丶秋枫1 小时前
Jenkins入门使用
运维·jenkins
紫菜(Nori)1 小时前
Jenkins Api Token 访问问题
运维·jenkins
love530love1 小时前
Windows 11 中利用 WSL - Linux 虚拟环境部署 ChatTTS-Enhanced 项目教程
linux·运维·windows
冷曦_sole1 小时前
linux-22 目录管理(二)rmdir命令,删除目录
linux·运维·服务器
群联云防护小杜1 小时前
服务器被攻击怎么办
运维·服务器·网络·网络协议·安全·web安全
IT 古月方源2 小时前
ospf 的 状态机详解
运维·网络·tcp/ip·智能路由器
九河云2 小时前
Amazon Bedrock Claude 3 在客户服务自动化中的应用方法
运维·人工智能·自动化·aws
hc_bmxxf2 小时前
Linux应用软件编程-多任务处理(进程)
linux·运维·服务器