代码之家  ›  专栏  ›  技术社区  ›  Yu Chen little_birdie

只在拉请求上构建,并在Jenkins上传入分支名称

  •  0
  • Yu Chen little_birdie  · 技术社区  · 6 年前

    buildA buildB . 我的开发人员将提交并将代码推送到 建筑 ,我想在Jenkins上启动建造工作 建筑B 每当在 建筑 回购发行。

    建筑 很简单:

    build job: 'buildA', parameters: [gitParameter(name: 'BRANCH', value: env.BRANCH_NAME)]
    

    这只会触发 (下面是Jenkins文件片段):

    sh label: "Install dependencies", script: 'pip install -r requirements.txt'
    sh label: 'Execute tests', script: "pytest --custom-parameter ${BRANCH}"'
    

    到目前为止效果很好。但是,我注意到我的测试需要很长时间才能运行,我希望测试只针对拉请求触发。到目前为止,我已经确定了两个选择,我想知道哪一个是更好的做法:

    选项1:

    enter image description here .

    选项2: env.CHANGE_ID 检查拉取请求事件。因此,我的管道脚本将被修改为

    script {
        if (env.CHANGE_ID) {
             sh label: "Install dependencies", script: 'pip install -r requirements.txt'
            sh label: 'Execute tests', script: "pytest --custom-parameter ${BRANCH}"'
                        }
          }
    

    我的问题: 这些选项中哪一个更适合获取分支名称,并且只在来自Git的pull请求上构建?

    0 回复  |  直到 6 年前