jenkins pipeline之流水线脚本版本化学习一(简化版)

公司目前的Jenkins pipeline任务多,在随着版本及任务需求变化,发现要变更一个任务时,要大量变更多个job,甚是麻烦。

看了下jenkins官网,Global Pipeline Libraries正好可以满足我的需求,那就学起来吧,看看怎么用了。

一、groovy脚本

  首先第一步肯定是要把在pipeline任务中的流水线改成脚本形式,这里拿个网上的例子,如下:

 文件名就叫sayHello.groovy

#!/usr/bin/env groovy
def call(String name = ‘human‘) {
    echo "Hello, ${name}."
}

那么将该脚本放在哪呢?放个官网的树吧

(root)
+- src                     # Groovy source files
|   +- org
|       +- foo
|           +- Bar.groovy  # for org.foo.Bar class
+- vars
|   +- foo.groovy          # for global ‘foo‘ variable
|   +- foo.txt             # help for ‘foo‘ variable
+- resources               # resource files (external libraries only)
|   +- org
|       +- foo
|           +- bar.json    # static helper data for org.foo.Bar

在本例中,我们就简单点吧,如下:

(test)
+- vars
|   +- sayHello.groovy

二、我们将该脚本放入SVN(后面用于共享pipeline使用)

这里要注意的是,要把vars也放入

这里在你要放的svn路径下新建一个master文件夹,表示主线

三、jenkins配置Global Pipeline Libraries

如下图,就不解释了

jenkins pipeline之流水线脚本版本化学习一(简化版)

注意,这里的master正好和之前放入svn时的保持一致,不然会找不到四、使用新建pipeline任务,在流水线中,加入如下代码

library ‘my-shared-library‘
sayHello()

执行,看看结果:

jenkins pipeline之流水线脚本版本化学习一(简化版)

 看看,执行成功!

这样任务再有改动,只要改动该脚本即可。

参考:

1、https://www.jenkins.io/zh/doc/book/pipeline/shared-libraries/

2、https://www.cnblogs.com/cay83/p/7811482.html

 

相关推荐