pipeline2配置实践

达芬奇密码2018-07-25 10:19

行研ci的pipeline是安装pipeline插件后,在每个job之后增加构建后操作,启动以下个job来实现job的流水线执行的。这种配置方法在实际操作中会存在这样的问题,执行一个job后会默认的开启另一个job,且需要对原来已经配置好的job进行修改。jenkins提供了一种新的pipeline的构建方式,可以在不修改原有job的情况下实现和ci上pipeline一样的功能。下面的内容是这个新的pipeline的使用和配置的实践。

首先,需要安装jenkins插件,进入jenkins的【系统管理】--【插件管理】页面,选择【可选插件】然后搜索pipeline,安装JobConfigHistory+PluginPipeline+Plugin

接下来,介绍的是pipeline的使用方法:

1、新建一个job

新建一个job,选择类型为pipeline

2、使用groovy语言实现配置

选择“配置”-Pipeline”,选择“pipeline script

其中,stage(‘xxx’)表示,这个阶段的名字为xxxbuild job:‘xxx’会执行名字为xxxjob,根据脚本将各个job关联起来

groovy语言具体语法参考:http://www.ciandcd.com/?p=95

Jenkins pipeline具体语法参考:http://www.ciandcd.com/?p=166

如果有不会写的代码,可以使用http://yourJenkinsPipeline address /pipeline-syntax/生成代码,然后拷贝到你代码需要的位置即可。

3、执行

点击“立即构建”执行,或者配置定时任务执行。

执行结果如图所示:

 

其中,红色表示执行失败,绿色表示执行成功,蓝色代表执行中。

其实,在使用groovy的来编写pipeline脚本,直接调用已经配置好的job并不是最好的方法,这样可能会导致每个job都有自己的工作空间,重复执行代码的同步等操作,你可以讲pipeline当作一个普通的job来进行配置,每个阶段需要做什么事情在每个stage单独用命令行实现,并且也可以使用代码实现某些操作的并行等,更为灵活。下面是一个例子:


   
   
  1. stage 'build'
  2. node {
  3. git 'https://github.com/xxxx.git'
  4. sh "mvn clean package"
  5. }
  6. stage 'test'
  7. parallel 'clean': {
  8. node {
  9. sh "mvn clean verify"
  10. }
  11. }
  12. }, 'quality': {
  13. node {
  14. sh "mvn sonar:sonar"
  15. }
  16. }
  17. }

本文来自网易实践者社区,经作者孟志斌授权发布。