Jenkins -- 持续集成
官网:https://jenkins.io/
历史:日本人Kohsuke Kawaguchi 川口浩介 于 2011年创始Jenkins
概念
主节点(master):Jenkins所在节点
从节点(Slave)等同于代理(Agent),即目标节点
任务(task)等同于 项目(project)、工程
原理:主节点选一个节点(主从都有可能),下发构建任务job,得到结果再进行分发。控制台输出中可以看到选择了哪儿从节点
安装Jenkins前准备:主从节点都安装git客户端、jdk、Maven,安装在同一个目录下
RPM安装:
1、官网上有各操作系统对应的安装方法
2、安装依赖:yum install java
WAR安装:
1、依赖:java、Tomcat
2、下载war包,部署到tomcat
启停
1、启动:service jenkins start
2、停止:service jenkins stop
3、重启:service jenkins restart
配置文件:/etc/sysconfig/jenkins
安装目录:/var/lib/jenkins
日志:/var/log/jenkins/jenkins.log
初始配置
1、访问主机:端口,端口即java进程监听的端口
2、从/var/lib/jenkins/secrets/initialAdminPassword 里拿到初始密码,登录
3、根据提示,选择安装推荐插件
4、系统管理 -> 插件管理 -> 安装插件(Rebuilder、Safe Restart)
5、系统管理 -> 全局安全配置 -> 勾选安全矩阵 -> 添加admin用户到矩阵,赋予admin所有权限
6、系统管理 -> 管理用户 -> 添加用户,然后到安全矩阵中授权
7、系统管理 -> 节点管理 -> 新建节点 -> 启动代理
并发构建数:可以接受几个构建任务
远程工作目录:/root/.jenkins
启动方式:Launch agent agents via SSH
Host Key Verification Strategy:Manually trusted key Verification Strategy
高级 -> java路径:从节点的java命令文件 java_home/bin/java
8、新建任务 -> 构建一个自由风格的软件项目
9、点击“立即构建” -> 查看 控制台输出
项目配置
General
勾选“限制项目的运行节点”,填入节点名。不填写的话,master节点也会参与部署
源码管理 Git
Repository URL:http协议的地址
Additional Behaviours:选择 Check out to a sub-directory,填写目录名,即下载代码放到工作目录下的这个这个子目录
构建
从节点执行:增加构建步骤 -> 选择“执行shell” -> 填写shell 脚本
任务划分
1、新建文件夹,并将任务移动到文件夹
2、新建列表视图(即列表上面的页签),设置任务列表
3、新建我的视图(在我的视图中查看),设置任务列表
Maven项目
1、主从都安装maven
2、系统管理 -> 全局工具配置 -> 填写jdk信息(非自动安装) -> 填写maven信息(非自动安装)
3、系统管理 -> 插件管理 -> 安装插件Maven Integration
4、新建任务 -> 构建一个Maven项目
5、在Build下配置Goals and options,即给mvn命令的参数:clean package -Dmaven.test.skip=true
-Dmaven.test.skip 表示不编译测试类,不进行单元测试
6、在 Post Steps 中加入 部署war包的脚本
cp target/*.war /usr/apache-tomcat-9.0.11/webapps/
/usr/apache-tomcat-9.0.11/bin/startup.sh
角色权限控制
1、安装插件 Role-based Authorization Strategy
2、系统管理 -> 全局安全配置 -> 授权策略 -> 选 授权策略 Role-Based Strategy
3、系统管理 -> Manage and Assign Roles
Manage Roles -> 添加全局角色Global roles 和 项目角色Project roles(Pattern即目标任务)
Assign Roles -> 分配角色,一个用户至少得有能读的全局角色