插件推荐
插件名
作用
Blue Ocean
Jenkins2.7以后可安装,是Jenkins的一种新视图,能够通过图形化的界面创建和编辑Jenkinsfile,实现pipeline as code
Pipeline Maven Integration Plugin
在pipeline中集成maven,即可使用withMaven{}命令
Config File Provider Plugin
可创建并管理Maven的settings文件及其他配置文件
JUnit Attachments Plugin
可以对单元测试生成的测试结果在Jenkins中进行展示
Task Scanner Plugin
跟踪项目中TODO和FIXTURE
Rancher Plugin
可以在Rancher1.*上创建及更新服务
HTTP Request Plugin
可以发送HTTP请求
创建pipeline项目
在Jenkins首页点击“新建”进入项目的创建页面,输入任务名后,选择“流水线”(或"Pipeline"),点击“确定”,即可创建一个新的pipeline项目,如下图所示:
创建pipeline项目
编写pipeline脚本
在项目配置页面,找到"流水线"一项,选择"Pipeline script"即可编辑脚本
下面首先介绍脚本式pipeline的基本结构,以及如何使用Jenkins自带的语法生成器:
pipeline的基本结构
pipeline语法分为了脚本式pipeline和声明式pipeline,以下均为脚本式pipeline。脚本式Pipeline本质是一个groovy脚本,可以直接使用Groovy提供的大多数功能,执行的顺序是从顶部开始的顺序执行。整个Pipeline使用node块结构,每一个阶段的执行用stage表示,如下是Jenkins提供的GitHub+Maven的模板(在脚本右上方处try sample Pipeline选择GitHub+Maven即会自动生成):
node {
def mvnHome
stage('Preparation') { // for display purposes
// Get some code from a GitHub repository
git 'https://github.com/jglick/simple-maven-project-with-tests.git'
// Get the Maven tool.
// ** NOTE: This 'M3' Maven tool must be configured
// ** in the global configuration.
mvnHome = tool 'M3'
}
stage('Build') {
// Run the maven build
if (isUnix()) {
sh "'${mvnHome}/bin/mvn' -Dmaven.test.failure.ignore clean package"
} else {
bat(/"${mvnHome}\bin\mvn" -Dmaven.test.failure.ignore clean package/)
}
}
stage('Results') {
junit '**/target/surefire-reports/TEST-*.xml'
archive 'target/*.jar'
}
}
语法生成
Jenkins提供了语法生成器,可以帮助我们编写pipeline流程。点击脚本下的Pipeline Syntax可进入pipiline-syntax页面,如下图所示:
语法生成器
在pipiline-syntax页面中选择需要执行的构建步骤,填写参数,然后点击“Generate Pipeline Script”即可生成需要的语法,如下图所示: