springBoot 项目通过 Jenkins 构建成 JAR 推送 nexus

目录

简介

配置流程

1、配置maven的setting.xml

2、添加配置文件setting.xml

3、创建配置项目

本文配置流程解决点


简介

本文内容为项目通过push推送,触发Jenkins自动构建,打包成JAR并同步推送到私服仓库 Nexus。尽量解耦各配置的权限控制(多点的废话留在文章最后讲解)

简易流程:springBoot -> Git -> Jenkins -> Maven -> Nexus

前期需要准备:
1、创建一个简易springBoot项目推送到git(公共或是私搭)
2、在Linux服务器部署Jenkins
(插件视情况自行增减,其中必不可少的有:Gitlab、Gitlab Hook、Gitlab Authentication、Config File Provider Plugin )
3、部署Nexus(2.x或是3.x都可以,这里只是用来存储构建JAR包)

PS:详细创建项目和部署流程找度娘,这里直接到文章主要重点“配置流程”。

配置流程

1、配置maven的setting.xml

(页面可能会因Jenkins 版本不同而有局部展示不一样,不影响)

系统管理-》管理插件-》搜索Config File Provider Plugin,点击直接安装,安装成功后在系统管理中会显示“Managed files”

springBoot 项目通过 Jenkins 构建成 JAR 推送 nexus_第1张图片

springBoot 项目通过 Jenkins 构建成 JAR 推送 nexus_第2张图片

2、添加配置文件setting.xml

springBoot 项目通过 Jenkins 构建成 JAR 推送 nexus_第3张图片

springBoot 项目通过 Jenkins 构建成 JAR 推送 nexus_第4张图片

自定义setting.xml搞定,开始项目端关联配置

3、创建配置项目

springBoot 项目通过 Jenkins 构建成 JAR 推送 nexus_第5张图片

springBoot 项目通过 Jenkins 构建成 JAR 推送 nexus_第6张图片

配置内容(不同版本也有些微小差异,不影响):

springBoot 项目通过 Jenkins 构建成 JAR 推送 nexus_第7张图片

springBoot 项目通过 Jenkins 构建成 JAR 推送 nexus_第8张图片

springBoot 项目通过 Jenkins 构建成 JAR 推送 nexus_第9张图片

springBoot 项目通过 Jenkins 构建成 JAR 推送 nexus_第10张图片

临时插边,以上配置已经拿到 webhook URL 和 Secret token , 那我们就配置到  git 项目的高级设置里面配置。配置好后,测试一下,成功如下图7步骤一样给到提示

PS:

1、Jenkins 没配置完,是会添加失败的)

2、Jenkins部署的域名IP地址必须和git仓库是互通的

springBoot 项目通过 Jenkins 构建成 JAR 推送 nexus_第11张图片

这里将使用到我们自定义的配置setting.xml文件

springBoot 项目通过 Jenkins 构建成 JAR 推送 nexus_第12张图片springBoot 项目通过 Jenkins 构建成 JAR 推送 nexus_第13张图片

springBoot 项目通过 Jenkins 构建成 JAR 推送 nexus_第14张图片

 

springBoot 项目通过 Jenkins 构建成 JAR 推送 nexus_第15张图片

springBoot 项目通过 Jenkins 构建成 JAR 推送 nexus_第16张图片

springBoot 项目通过 Jenkins 构建成 JAR 推送 nexus_第17张图片

以上配置流程就完毕

之后我们推送代码到项目的master分支

可以在项目控制台查看到触发运行流程

springBoot 项目通过 Jenkins 构建成 JAR 推送 nexus_第18张图片


本文配置流程解决点


1、配置解构:以前都是在项目pom内部配置

   
       
            nexus
            Releases
            http://xxx.xxx.xxx/repository/maven-releases
       

       
            nexus
            Snapshot
            http://xxx.xxx.xxx/repository/maven-snapshots
       

   

进行推送,被拿到jar包可能会引起仓库地址暴露(非内网),有些还会把用户名/密码配置在里面。现在仓库配置放入构建服务Jenkins 内,打成的JAR 无此点问题。

2、maven的setting.xml文件配置变得灵活,由运维自行定义配置内容,方便更改。
作用:Nexus仓库可能会分多个权限账号,有负责推送,有负责拉取。开发分配到的server的用户名/密码,可能只有拉取权限,避免多人进行推送操作。

3、构建发布JAR版本的代码管控
通过配置推送的触发权限,在Git管理端设置master分支权限只给固定管理人员可推送,防止多人推送出发构建条件。

最后感谢以下的码友文章(我只是个整合搬运工):
jenkins maven设置settings.xml
jenkins实现master变化时,才触发构建(过滤分支)
腾讯工蜂Git关联Jenkins Hooks 

你可能感兴趣的:(jenkins,nexus)