02.Jenkins学习笔记–基于Jenkins实现可持续化集成
知识点
- 持续化集成完成的目标
- 持续化集成配置
- 集成实现原理
持续化集成完成的目标
需要到达的目标如下:
- 自动基于分支构建项目
- 构建好的项目自动部署至 Tomcat 容器
- 构建好的项目自动上传至 Nexus 私服存档
- 保存构建历史记录,并可以下载历史记录
全局工具配置
系统管理 –> 全局工具配置
一般情况下保持默认配置即可。
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 中