DevOps平台实践 (6)

docker, 使用给定的容器执行流水线或阶段。 在指定的节点中,通过运行容器来执行任务

agent { docker { image \'maven:3-alpine\' label \'my-defined-label\' args \'-v /tmp:/tmp\' } }

options: 允许从流水线内部配置特定于流水线的选项。

buildDiscarder , 为最近的流水线运行的特定数量保存组件和控制台输出。例如: options { buildDiscarder(logRotator(numToKeepStr: \'10\')) }

disableConcurrentBuilds ,不允许同时执行流水线。 可被用来防止同时访问共享资源等。 例如: options { disableConcurrentBuilds() }

timeout ,设置流水线运行的超时时间, 在此之后,Jenkins将中止流水线。例如: options { timeout(time: 1, unit: \'HOURS\') }

retry,在失败时, 重新尝试整个流水线的指定次数。 For example: options { retry(3) }

environment: 指令制定一个 键-值对序列,该序列将被定义为所有步骤的环境变量

stages: 包含一系列一个或多个 指令, stages 部分是流水线描述的大部分"work" 的位置。 建议 stages 至少包含一个 指令用于连续交付过程的每个离散部分,比如构建, 测试, 和部署。

pipeline { agent any stages { stage(\'Example\') { steps { echo \'Hello World\' } } } }

steps: 在给定的 stage 指令中执行的定义了一系列的一个或多个。

post: 定义一个或多个 ,这些阶段根据流水线或阶段的完成情况而运行post 支持以下 块中的其中之一: always, changed, failure, success, unstable, 和 aborted。

always, 无论流水线或阶段的完成状态如何,都允许在 post 部分运行该步骤

changed, 当前流水线或阶段的完成状态与它之前的运行不同时,才允许在 post 部分运行该步骤

failure, 当前流水线或阶段的完成状态为"failure",才允许在 post 部分运行该步骤, 通常web UI是红色

success, 当前流水线或阶段的完成状态为"success",才允许在 post 部分运行该步骤, 通常web UI是蓝色或绿色

unstable, 当前流水线或阶段的完成状态为"unstable",才允许在 post 部分运行该步骤, 通常由于测试失败,代码违规等造成。通常web UI是黄色

aborted, 只有当前流水线或阶段的完成状态为"aborted",才允许在 post 部分运行该步骤, 通常由于流水线被手动的aborted。通常web UI是灰色

创建pipeline示意:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzffpw.html