如何测试Jenkinsfile

时间:2018-03-23 06:28:24

标签: jenkins jenkins-pipeline cloudbees

我正在尝试编写测试用例以验证Jenkinsfile,但是加载脚本函数无法正常工作,期望提供扩展并抛出ResourceException异常loadScript("Jenkinsfile")

他们是更好的方法来测试Jenkinsfile

2 个答案:

答案 0 :(得分:2)

问题在于没有足够的工具来开发管道。管道是DSL,它施加了限制。

使用标志有一种有趣的方法。例如,test定义外部管道(在作业中)。如果test=true,管道改变了一些"生产"逻辑到"测试" - 选择另一个代理,将工件加载到另一个存储库,运行另一个命令等等。

但最近出现Pipeline Unit Testing Framework。它允许您在完全运行管道和共享库之前对其进行单元测试。它提供了一个模拟执行环境,其中真实的Pipeline步骤被替换为可用于检查预期行为的mock对象。

有用的链接:

答案 1 :(得分:0)

借助Jenkins的内置功能,您可以在本地验证声明性管道。这可以使用Jenkins CLI命令或通过使用适当的参数发出HTTP POST请求来完成。

命令如下:

curl -s -X POST -F "jenkinsfile=<YourJenkinsfile" \
https://user:password@jenkins.example.com/pipeline-model-converter/validate

有关实际示例,请遵循以下指南: https://pillsfromtheweb.blogspot.com/2020/10/validate-jenkinsfile.html