pipeline语法选择(下)

2021-06-01 14:35:23 浏览数 (1)

脚本式和声明式

脚本式语法比较灵活,编写清晰简单,groovy的语法可以直接使用套用,例如直接定义个变量。

  1. node () {
  2. def branch = 'test'
  3.     stage 'pull'
  4.         sh " echo 拉取代码"
  5. stage 'build'
  6.     sh " echo 构建代码"
  7. }

声明式的语法在内容多的时候会更清晰

  1. pipeline {
  2.     agent any
  3.     stages {
  4.         stage('pull') {
  5.             steps {
  6.                 echo '拉取代码'
  7. }
  8. }
  9. stage('build') {
  10.             steps {
  11.                 echo '构建代码'
  12. }
  13. }
  14. }
  15. }

对比2个例子,可以发现声明式好像才是复杂的那个。但其实在后续使用中,可以发现脚本式会比较凌乱,就像没用函数的感觉,没有一个标准和结构。脚本式和声明式只是语法上有些区别,对于方法和功能大多都是一样支持的。

插件与pipeline

pipeline基本结构决定的是pipeline整体流程,stage代表每个阶段,但实际具体做操作的是pipeline中的每一个步骤。步骤是pipeline中已经不能再拆分的最小操作。像echo执行echo指令,sh执行shell命令。

那是不是说,Jenkins pipeline内置了所有可能需要用到的步骤呢?显然没有必要,因为很多步骤可能永远不会用到。

就像自由Jenkins的插件,安装各种插件后,可以在自由风格的项目里,看到多出来的选项,进行配置。pipeline也是如此,安装某些插件后,就可以在pipeline中用代码调用插件了。

哪些插件适配了Jenkins pipelien,官方有列表方便检索,步骤具体说明可以查看官方步骤参考文档

0 人点赞