Jenkins简单入门
文章目录
Jenkins 安装
下载 Jenkins 安装包
Jenkins官网提供了多种安装方式,既有针对不同平台的安装包,也有跨平台的war,不同平台安装包地址
本文将下载对应war包进行安装,下载war包:官网
注意,Jenkins主要通过不同插件扩展支持各种功能,为了后续各插件在线安装顺利,建议直接上最新版的Jenkins。否则,大部分插件需要手动下载安装。
安装 Jenkins
- 最新版本的Jenkins需要JDK11或以上的JDK版本,需要先安装好JDK版本:
- 解压:
$ tar -zxvf jdk-11.0.2_linux-x64_bin.tar.gz -C /usr/local/tool/
- 配置环境变量:
$ touch /etc/profile.d/userself.sh $ vim /etc/profile.d/userself.sh #!/bin/bash export JAVA_HOME=/usr/local/tool/jdk-11.0.2 export PATH=$JAVA_HOME/bin:$PATH export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar $ source /etc/profile
- 接着,需要下载并安装好tomcat,用于部署 Jenkins
$ tar -zxvf apache-tomcat-9.0.86.tar.gz -C /usr/local/tool/
- 部署Jenkins:
$ cd /usr/local/tool/apache-tomcat-9.0.86/webapps/ $ mv ~/jenkins.war . $ cd .. $ bin/startup
- 访问Jenkins:http://192.168.10.102:8080/jenkins
- 初始化配置:
- Jenkins初始化密码位置:
/root/.jenkins/secrets/initialAdminPassword
;点击继续后,在自定义Jenkins时,选择第二个自定义安装,然后选择无。
- 镜像配置
接着,打开Jenkins插件管理页面,修改URL为:$ cd /root/.jenkins/updates $ vim default.json # 执行下面的全局替换,将镜像地址替换成国内清华源 :$s/https:\/\/updates.jenkins.io\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g # 替换连接测试url,将google替换成百度 :$s/https:\/\/www.google.com/https:\/\/www.baidu.com/g # 修改完后,执行保存退出 :wq
https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
。
- Jenkins初始化密码位置:
- 提交,重启
http://192.168.10.102:8080/jenkins/restart
插件安装及配置
Jenkins各主要功能基本都是通过插件扩展的方式进行支持的。所以后续Jenkins的使用基本都是以插件安装为主。接下来将介绍日常中使用频繁的几款插件。
Jenkins用户权限管理
- Jenkins中,可以使用
Role-based Authorization Strategy
插件来管理Jenkins用户权限。
- 修改Jenkins的安全认证策略为对应下载插件模式:
- 创建对应的开发和测试项目角色:
- 创建用户并分配对应的角色:
- 为用户分配不同的角色:
- 结果,dev用户只能看到所有
dev
开头的项目;tt用户只能看到所有test
开头的项目。
Jenkins凭证管理
凭据可以用来存储需要密文保护的数据库密码、Gitlab密码信息、tomcat用户密码等,以便Jenkins和第三方应用进行交互。
- 安装
Credentials Binding
插件
- 这里演示从gitlab拉取代码,所以还需要安装
Git
插件
- 创建凭证
- 创建工程,并配置gitlab项目地址
- 点击构建验证
- 配置Maven,执行构建
此处要确保Jenkins机子上已经安装好Maven,并配置好相关的环境变量
- 配置tomcat,执行项目
- 在
192.168.10.101
机子上安装对应jdk
及tomcat
; - 为了方便在web上管理
tomcat
容器,需要配置tomcat
相关的管理员及角色信息:
$ vim conf/tomcat-users.xml <tomcat-users> <role rolename="tomcat"/> <role rolename="role1"/> <role rolename="manager-script"/> <role rolename="manager-gui"/> <role rolename="manager-status"/> <role rolename="admin-gui"/> <role rolename="admin-script"/> <user username="tomcat" password="tomcat" roles="manager-gui,manager-script,tomcat,admin-gui,admin-script"/> </tomcat-users> $ vim webapps/manager/META-INF/context.xml # 注释下面一行,不然无法远程登陆 <!-- <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" /> -->
- Jenkins 需要安装相关的远程部署插件:
Deploy to container
- 配置tomcat认证信息
- 配置项目远程部署
- 在
Maven项目构建
- 安装
Maven Integration
插件
- 创建maven项目
- 配置项目信息
其他gitlab
和tomcat
相关配置跟上文一样。 - 点击构建验证
流水线构建
- 安装
Pipeline
插件
- 创建
Pipeline
项目
- 处理相应的
Pipeline
脚本
- 点击构建验证
参数化构建
- 自定义参数,这里定义分支参数,实现对指定分支进行构建:
- 修改pipeline脚本,读取参数值(表达式
${var}
)实现项目参数化构建:
- 验证测试
常用构建触发器
Jenkins内置4种构建触发器:
- 远程构建(Trigger builds remotely )
- 其他工程构建后触发(Build after other projects are build)
- 定时构建(Build periodically)
- 轮询SCM(Poll SCM)
远程构建
- 配置远程构建访问令牌
- 访问远程url即可出发构建:
http://jenkins112:8080/jenkins/job/dev_project_pipeline/build?token=8888
其他工程构建后触发
- 指定前置工程
- 当
pre_project
构建完成后就会触发当前项目的构建。
定时构建
- 定时构建只需要配置好相关的定时任务即可。
Git hook 自动构建(常用)
- 安装
Gitlab
和Generic Webhook Trigger
插件; Jenkins
上配置项目gitlab
触发自动构建:
gitlab
管理页面配置Jenkins
项目触发地址:
- 登录管理员账号,进入系统管理页面:
- 进行网络配置页面,勾选允许本地的触发器(这一步,必须要做,否则添加Webhook时,会报错 【Url is blocked: Requests to localhost are not allowed】)
- 配置项目的web hook
- 验证测试
总结
以上就是Jenkins的主要内容,本文仅仅简单介绍了Jenkins的安装及使用,更多Jenkins的高级玩法还需要慢慢摸索。