【问题标题】:Jenkins pipeline groovy testing in shellshell中的Jenkins管道常规测试
【发布时间】:2017-08-29 14:27:53
【问题描述】:

是否可以使用 groovyshgroovy scriptname 测试 jenkins 管道脚本以在不使用 Jenkins UI 的情况下运行验证测试

例如一个简单的脚本

pipeline {
  stages {
    stage ('test') {
      steps {
        sh '''
        env
        '''
       }
    }
  }
}

运行这样的测试,具体取决于脚本的子集:

No signature of method: * is applicable for argument types

groovysh_evaluate.pipeline()

或为 阶段('测试'){ 嘘''' 环境 ''' }

报告:

No signature of method: groovysh_evaluate.stages() 

或者干脆

   sh '''
   env
   '''

报告:

No signature of method: groovysh_evaluate.sh()

问题可能是需要哪些导入以及如何在 jenkins 安装之外安装它们?

为什么有人要这样做?

简化和缩短测试用例的迭代、库版本的验证,而无需修改 jenkins 安装以及其他单元和功能测试场景。

【问题讨论】:

    标签: jenkins jenkins-pipeline jenkins-groovy


    【解决方案1】:

    JenkinsPipelineUnit 就是你要找的东西。

    此测试框架通过提供管道的模拟执行,让您可以对管道代码的配置和条件逻辑编写单元测试。您可以模拟内置的 Jenkins 命令、作业配置、查看整个执行的堆栈跟踪,甚至跟踪回归。

    【讨论】:

    • 这看起来很棒,但是对于在 jenkins 之外进行测试,可以在不构建单元测试的情况下加载到 groovy/groovysh 的独立包会很有帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-22
    • 2019-11-23
    • 1970-01-01
    • 2020-06-27
    • 2019-03-08
    相关资源
    最近更新 更多