Jenkins分布式构建和Pipline
Pipline简介
pipline 是帮助 Jenkins 实现 CI 到 CD 转变的重要角色,是运行在 jenkins 2.X 版本的核心插件,简单来
说 Pipline 就是一套运行于 Jenkins 上的工作流框架,将原本独立运行于单个或者多个节点的任务连
接起来,实现单个任务难以完成的复杂发布流程,从而实现单个任务很难实现的复杂流程编排和任
务可视化,Pipeline 的实现方式是一套 Groovy DSL,任何发布流程都可以表述为一段 Groovy 脚本。
Pipline优势
可持续性:jenkins 的重启或者中断后不影响已经执行的 Pipline Job
支持暂停:pipline 可以选择停止并等待人工输入或批准后再继续执行。
可扩展:通过 groovy 的编程更容易的扩展插件。
并行执行:通过 groovy 脚本可以实现 step,stage 间的并行执行,和更复杂的相互依赖关系。
Pipline语法
# Stage:阶段,一个 pipline 可以划分为若干个 stage,每个 stage 都是一个操作,
# 比如 clone 代码、代码编译、代码测试和代码部署,阶段是一个逻辑分组,可以跨多个 node 执行。
# Node:节点,每个 node 都是一个 jenkins 节点,可以是 jenkins master 也可以是 jenkins agent,
# node 是执行 step 的具体服务器。
# Step:步骤,step 是 jenkins pipline 最基本的操作单元,从在服务器创建目录到构建容器镜像,由各
类
# Jenkins 插件提供实现,例如: sh “make”
Pipline Job测试
创建Pipline Job:
测试Pipline Job
node {
stage("code clone"){
echo "git clone"
}
stage("code build"){
echo "code build"
}
stage("code test"){
echo "code test"
}
stage("code deploy"){
echo "code deploy"
}
}
执行Pipline Job
生成拉取代码的Pipline脚本
更改Pipline脚本
66
执行验证Pipline Job
服务器验证数据
Jenkins分布式构建
添加slave认证凭据
配置Slave节点
# Slave 服务器创建工作目录,如果 slave 需要执行编译 job,则也需要配置 java 环境:
yum install java-1.8.0-openjdk –y
mkdir /data/jenkins/slave -pv