Jenkins 配置及使用
一、初始化
- 在浏览器地址栏输入:服务器地址+":端口号",回车访问jenkins主页。
- 解锁Jenkins
在服务器上查询root账号默认密码
cat /var/lib/jenkins/secrets/initialAdminPassword
输入密码并解锁
3.选择插件
一般直接选择“安装推荐的插件”即可
4.添加管理员
插件安装完成后会自动进入添加管理员界面
5.配置Jenkins URL
这里的URL指的是默认访问Jenkins的地址。 http://localhost:8088,如果你通过Nginx配置了域名,那么直接填写配置的域名即可。
例:http://yuorapp.com:8088/
6.开始使用Jenkins
配置完Jenkins URL之后就完成了整个Jenkins配置引导,点击“开始使用Jenkins”就会进入Jenkins主页。
二、操作步骤
1.单击“新建”,创建任务
2.为任务命名并选择测试的项目类型(选择“构建一个自由风格的软件项目”即可),单击OK
3.此时,任务已创建好,可根据后面的步骤在跳转页面继续配置任务各项参数。也可先进行其他操作,等后续进入任务主页配置任务参数。返回jenkins主页可看到新创建的任务
4.点击任务名称“mytest”进入任务主页,可通过点击“配置”进入参数配置页面。
5.(非必须)填写对项目的描述,并配置其他通用参数。参数说明,单击问号图标可见
6.(非必须)配置源码管理。通过配置此项,可实现对测试工具代码和测试案例代码的按需更新
7.配置构建触发器。即当触发条件满足时,启动构建。这里我们根据需要选择定时构建
8.日程表设置规则
(1)格式为:MINUTE HOUR DOM MONTH DOW 。可以使用TAB或空格进行分割。
(2)MINUTE 指定分钟(0-59)
HOUR 指定小时(0-23)
DOM 指定每月中的哪天(1-31)
MONTH 指定月份(1-12)
DOW 指定每周中的哪天(0-7),0和7表示星期日。
(3)* 通配符,表示所有满足要求的值
M-N 指定一段区间
M-N/X或*/X 在指定区间或全部值内,以X作为步长进行间断
A,B,...,Z 枚举多个值
(4)H(代表hash)
使用场景:用“0 0 * * *”指定每天构建的工作频率,会导致在凌晨时负载的大量激增。而使用“H H * * *”同样会每天执行这些任务,但不会在同一时间执行,这样就充分利用了有限的资源。
H符号可以想象成一段范围内的一个随机值,但不是通过随机函数实现的,而实际上是对任务名称进行的hash运算。因此,对于任何给定项目,这个值是稳定的。(也就是说,对于一个多任务的项目,先执行哪个后执行哪个,每天的顺序都是一样的)
(5)以#开头的表示注释。
(6)支持@yearly、 @annually、 @monthly、 @weekly、 @daily、 @midnight 和 @hourly,作为别名使用。这些使用了hash算法来自动调整构建时间。例如,@hourly和“H * * * *”是等价的,表示一个小时内的任意时间。@midnight表示12:00 AM 到 2:59 AM范围内的任意时间。
举例:
# 每15分钟构建一次 (可能会在 :07, :22, :37, :52)
H/15 * * * *
# 在一个小时开始的前半小时内,每10分钟构建一次 (构建3次,可能会在 :04, :14, :24)
H(0-29)/10 * * * *
# 工作日(周一到周五)每天9:45 AM 到 3:45 PM,隔2小时构建一次。
45 9-16/2 * * 1-5
# 工作日每天9 AM 到 4 PM,以2小时为间隔,执行最大次数的构建。
H H(9-16)/2 * * 1-5
# 除12月外,每月1号到15号这段范围每天构建一次
H H 1,15 1-11 *
9.(非必须)配置构建环境
10.配置构建,即构建时执行的动作。这里我们根据需要选择执行shell脚步。
11.CI/CD脚本
cd /usr/local/app
sudo rm -rf /usr/local/app/*
git clone -b dev https://xxxxx.@gitee.com/nuomibaibai/xxxxxx.git
cd app-xxxxx
sudo dotnet restore -s https://nuget.cdn.azure.cn/v3/index.json
sudo dotnet build --no-restore
sudo supervisorctl stop App
sudo rm -rf /usr/app/linux-x64/*
sudo dotnet publish -o /usr/app/linux-x64/
sudo supervisorctl start App
例:
12.(非必须)配置构建后操作。
13.完成任务参数配置后,进入任务主页。单击“立即构建”,可即刻执行一次任务构建。同时,下方“构建历史”会对应增加一个新的条目
14.CI/CD报错解决方法
如果出现错误“sudo: no tty present and no askpass program specified”,执行以下命令:
(1)visudo (修改sudo配置文件,找到“Defaults !visiblepw”,直接将当中的“!”去掉(如果是被注释的,就把“#”去掉),如果没有就增加行:Defaults visiblepw。 在文件末尾加上:“jenkins ALL=(ALL) NOPASSWD: ALL”)
(2)service jenkins restart (重启Jenkins)
如果出现以下未找到命令的错误:
解决方法:
(1)查询系统环境变量: echo $PATH
(2)服务器的环境变量添加到Jenkins
15.单击新增加的构建历史条目,可查看本次构建对应的相关信息