需要完成的目标
Pipeline 作为 Jenkins2.0 系列最大的改变,其自身具有着构建步骤代码化、构建过程视图化等优势,更可以结合被预言有可能改变 jenkins 万年不变页面的插件"Open Blue Ocean"使用。
node{
stage('get clone')
{
git url: 'https://github.com/jglick/simple-maven-project-with-tests.git'
//check CODE
}
stage('mvn build')
{
//mvn构建
timeout(time: 30, unit: 'SECONDS')
{
//设置30秒超时时间
bat 'mvn install -Dmaven.test.skip=true'
}
}
stage('deploy')
{
bat 'deploy.bat'
//执行部署脚本
}
}
场景描述:同一项目组有若干个模块,其有较高的耦合性,而且步骤均一致。只有路径、部分参数等,所以采用提取这部分作为一个参数化 job,每个模块构建步骤采用 pipeline 传递自身特有参数的方式触发构建。
build job: 'test-Pipline', parameters: [string(name: 'Stringinput', value: '1'), booleanParam(name: 'buildsucess', value: true)]
在主节点中执行检查系统是否是 UNIX,打印对应信息。
node('master')
{
stage('check system')
{
if(isUnix()){
echo "this is Unix"
}
else
{
echo "this is Linux"
}
}
}
在主节点中执行检查系统是否是 UNIX,打印对应信息。节点 1 进行 pybot 的自动化脚本执行,如果节点够多而且先后执行顺序并不依赖严重,完全可以分多个节点执行来提高执行效率。
node('master')
{
stage('111')
{
if(isUnix()){
echo "this is Unix"
}
else
{
echo "this is Linux"
}
}
}
node('node1') {
bat 'pybot hello_world'
}
### 结合插件 Open Blue Ocean 使用 Pipeline
首先安装插件
安装成功后在 jenkins 登陆后的正中间可以看到一个按钮,见下图
点击进入后,可以对具体的 JOB 进行构建,查看状态,等
PS:欢迎个位提出自己的观点和看法