02.Jenkins学习笔记

基于Jenkins实现可持续化集成

Posted by Chen Xingxu on September 8, 2020

02.Jenkins学习笔记–基于Jenkins实现可持续化集成

知识点

  1. 持续化集成完成的目标
  2. 持续化集成配置
  3. 集成实现原理

持续化集成完成的目标

需要到达的目标如下:

  1. 自动基于分支构建项目
  2. 构建好的项目自动部署至 Tomcat 容器
  3. 构建好的项目自动上传至 Nexus 私服存档
  4. 保存构建历史记录,并可以下载历史记录

全局工具配置

系统管理 –> 全局工具配置

一般情况下保持默认配置即可。

MAVEN_HOME 需要指定,配置之前要把自动安装前的对勾去掉:

Maven settings 如果使用默认 Maven 设置,要确保 ~/.m2 文件夹下有 settings.xml 文件。

持续化集成配置

自动部署的前提条件

需要下载 Deploy to container 插件

设置Tomcat manager 用户和密码,以下配置加入至 $TOMCAT_HOME/conf/tomcat-users.xml 中

<role rolename="admin-gui"/>
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<user username="manager" password="manager" roles="manager-gui,manager-script"/>
<user username="admin" password="admin" roles="admin-gui,manager-gui"/>

Tomcat webapp 中必须保留 manager 项目

配置成功的话可以通过 用户名/密码:manager/manager 进入 Tomcat 主页的 Manager App:

Maven 项目构建快速入门

1、新建 maven job

2、配置源码管理

添加密码:添加 –> Jenkins

3、编写 Maven 构建命令

clean install -U

4、构建项目

5、查看控制台输出

6、查看构建完成的 war 包

自动部署至 Tomcat

点击配置

添加构建后操作:Deploy war/ear to container 项目

根目录为 ~/.jenkins/workspace/yangxu-simple-webbapp/

所以配置相对路径为:target/*.war

如果在根目录下 target 上层有其他目录,可以配置为:**/target/*.war

添加 Container:

添加 Credential:

填写其他的配置信息后保存:

构建项目

构建完成后访问测试

访问:http://192.168.25.159:8080/yangxu/

存档配置——部署至 Nexus 私服

构建后操作添加 Deploy artifacts to Maven repository 项目

点击高级:

填写 URL 和 ID 后保存:

配置 setting.xml 用于获取上传至 Nexus 的权限

vim ~/.m2/settings.xml

添加一个 server, id 要与与存档配置当中的 Repository ID 相对应

<server>
  <id>snapshots</id>
  <username>deployment</username>
  <password>deployment123</password>
</server>

顺便再添加一个 server

<server>
  <id>releases</id>
  <username>deployment</username>
  <password>deployment123</password>
</server>

构建项目

可以看到构建好的项目已经上传到 Nexus 私服中了

参数化构建

进入项目的配置,选中 General 下的参数化构建过程。

添加参数 –> 字符参数

填写相关信息

在 Git 等源码管理时,调用参数的格式 ${tag} 在 Shell 脚本中调用参数时,调用格式为 $tag

点击 Build with Parameters

填写 branch

分支已经变更为 releases

WAR 包上传到了 Nexus 私服中

WAR 包部署到了 Tomcat 中

丢弃旧的构建

集成实现原理