1、部署 jenkins master 及多 slave 环境
在另一台服务器部署jenkins。
按照上次安装方法。这次确报错了,访问http://124.70.72.16:8088/报错如下:
AWT is not properly configured on this server. Perhaps you need to run your container with “-Djava.awt.headless=true”? See also: https://jenkins.io/redirect/troubleshooting/java.awt.headless
百度了一下相应报错,cenos系统遇到此报错时,需要装3个包;然后重启jenkins
yum install dejavu-sans-fonts
yum install fontconfig
yum install xorg-x11-server-Xvfb
systemctl restart jenkins
配置jenkins-slave01
加上slave节点后,就可以结合pipline使用了。
2、基于 jenkins 视图对 jenkins job 进行分类
(1)新建视图-----选择列表视图(最常用)
(2)勾选其中某些任务
(3)即可按照视图,对任务进行分类,方便查看
(4)还可以根据正则进行匹配
3、总结 jenkins pipline 基本语法
pipline流水线分为脚本式流水线与声明式流水线。
流水线过程定义在 Pipeline{}块中,在Pipeline 块定义了整个流水线中完成的所有的操作。
Stage:阶段,一个pipline可以划分为若干个stage,每个stage都是一个操作阶段,比如代码clone、代码编译、代码测试和代码部署,阶段是一个逻辑分组,在pipline中可以实现跨多个node执行不同的stage。
Step:步骤,step是jenkins pipline最基本的操作单元,一个stage中可以有多个step,例如在代码clone的stage中需要定义代码clone的step、在代码编译stage需要定义代码编译的step。
Node:jenkins工作节点,可以是jenkins master也可以是jenkins slave,node是执行step的具体服务器。
pipeline { //固定格式,声明式的job,内容都写在pipline{}中
agent any //可以在任何可用的节点执行,由jenkins自动分配
stages { //stage阶段,一个pipline可以划分为若干个stage,每个stage都是一个操作阶段,比如代码clone、代码编译、代码测试和代码部署,阶段是一个逻辑分组,在pipline中可以实现跨多个node执行不同的stage
stage('代码clone'){
agent any
steps{ //step步骤,step是jenkins pipline最基本的操作单元,一个stage中可以有多个step,例如在代码clone的stage中需要定义代码clone的step、在代码编译stage需要定义代码编译的step
sh 'echo 代码clone'
}
}
stage('代码部署'){
agent any
steps{ //steps,真正执行命令的地方
sh 'echo 代码部署'
}
}
stage('镜像更新'){
agent any
steps{
sh 'echo 镜像更新'
} //对应两行之前的steps{ ;与steps对齐
} //对应stage('镜像更新'){ ;与stage('镜像更新')对齐
} //对应stages { ;与stages对齐
} //对应pipeline { ;与开头pipline对齐
新建任务-----选择“流水线”;起名“pipline-test001”------将上面的脚本粘进去(pipline语法中用 // 注释)-------点击立即构建
可以看出这个pipline是运行在本机(主jenkins)上的。