Jenkins全球管道图书馆 - 什么是理智的开发工作流程?

时间:2017-07-12 23:05:46

标签: jenkins jenkins-pipeline

编写jenkins全局管道库和jenkinsFiles的理解开发工作流程是什么?检查我对全局管道库的更改然后运行构建w / retry来修改jenkinsFile是一种痛苦,如果需要几次迭代,则保存diff。

有人有什么建议吗?你做什么的?

2 个答案:

答案 0 :(得分:1)

Jenkins管道有第三方单元测试框架:lesfurets/JenkinsPipelineUnit。这也包括共享库,并允许您验证管道脚本的调用堆栈。

答案 1 :(得分:0)

仅根据您问题中的少量上下文,我可以分享我所学到的知识。天啊。

  1. 对库进行源代码控制并在分支上进行更改。您可能需要另一个存储库作为试验品来测试新更改 - 将 fragment half4 fragment_shader(VertexOut fragData [[stage_in]], float2 pointCoord [[point_coord]]) { if (length(pointCoord - float2(0.5)) > 0.5) { discard_fragment(); } return half4(0.3, 0.3, 0.1, 0.1); } 添加到其 Jenkinsfile 中的 @branchname 声明。
  2. 在本地机器上运行的 Jenkins 实例上运行和测试您的代码。它可能与您的生产实例不完全匹配,但它更接近您的本地实例,因此反馈速度更快。此外,您不必将更改推送到测试 - 在本地提交、测试、取消提交、更改、提交、测试、重复。当您完成或需要在生产实例上进行测试时,请推送。
  3. 使用脚本控制台作为 Groovy 暂存器来测试代码。它缺少很多插件/功能,但它非常适合将一些测试代码放在一起以确保基础工作。
  4. 创建小的一次性管道来测试您希望在将其放入实际管道之前快速迭代的功能,而这在脚本控制台中不起作用。这让您可以专注于您正在构建的功能,而不必担心其他位。
    1. 重要说明:我知道至少有一个函数在脚本控制台中不起作用,但在实际管道中运行良好:library。它抛出一个错误,好像你做错了什么,但它只是在控制台中坏了。我确定还有其他人。

我会回来补充更多。