笔者是独立翻译实验,不允许转载
Pipeline Development Tools
Pipeline Development Tools
Jenkins Pipeline有内嵌的文档和Snipper Generator,这些是开发Pipeline的关键资源。它们针对当前版本的Jenkins和安装的插件提供详细的帮助和信息。本节,我们讨论开发Jenkins Pipeline的其他工具和资源。
命令行Command-line (Command-line Pipeline Linter)
在实际运行之前,Jenkins能验证,或者lint一个申明式Pipeline。这些通常是Jenkins CLI命令或者带参数的HTTP POST请求完成的。我们推荐使用SSH interface。请参看Jenkins CLI文档怎样配置Jenkins才能安全的命令行存取。
Example
下面是两个Pipeline Linter的例子。第一个示例显示了linter在传递无效Jenkinsfile时的输出, 该结果是缺少代理agent声明的一部分。
“Replay” Pipeline Runs with Modifications
一般来说Pipeline是定义在经典的Jenkins Web界面上,或者通过提交Jenkinsfile到源代码库中。不幸的是, 这两种方法都不适合对Pipeline进行快速迭代或原型化。“Replay”特性允许在不更改Pipeline配置或创建新提交的情况下快速修改和执行现有Pipeline。
Usage
使用”Replay”特性:
- 选择一个以前已经完成的运行过的Build History。
- 点击左边的菜单”Replay”按钮
Features
•能被同一次运行多次调用—允许很容易的并行测试不同的特性
•能被在运行中的Pipeline调用执行—只要是包含正确Groovy语法的Pipeline,就能被重复播放。
•能引用共享库的代码同样是可修改的—如果一个引用了共享库的Pipeline运行,共享库的代码同样能被展示和修改。
Limitations
•有语法错误的Pipeline不能被重新播放–这意味着无法查看其代码, 并且无法检索其中所做的任何更改。使用重播进行更重要的修改时, 请将更改保存到Jenkins外部的文件或编辑器中, 然后再运行它们。见JENKINS-37589。
•重播的Pipeline行为可能与由其他方法启动的运行不同–对于不属于多分支Pipeline的Pipeline, 提交信息可能会因原始运行和重播运行而异。见JENKINS-36453。
Pipeline Unit Testing Framework
提示: Pipeline单元测试框架是Jenkins项目不支持的 third-party 工具。
Pipeline单元测试框架(Pipeline Unit Testing Framework)允许您在完全运行测试Pipeline和共享库之前对其进行单元检测。它提供了一个模拟执行环境, 其中实际的Pipeline步骤将替换为可用于检查预期行为的 mock 对象。新的和粗糙的边缘, 但承诺。该项目的自述文件包含示例和用法说明。