【问题标题】:Jenkins job triggered by Git Action building incorrect branch由 Git Action 构建不正确的分支触发的 Jenkins 作业
【发布时间】:2021-02-05 20:06:30
【问题描述】:

我们有一个由Github Action 触发的 Jenkins 作业(如下所列)。

name: CI


on:
  pull_request:
    branches: 
      - test/*
    types: [ closed ]

jobs:
  build:
    if: github.event.pull_request.merged == true
    name: Build
    runs-on: ubuntu-latest
    steps:
    - name: trigger single Job
      uses: appleboy/jenkins-action@master
      with:
        url: "https://example.company.com"
        user: "appleboy"
        token: ${{ secrets.TOKEN }}
        job: "Pipeline"

触发器现在是通配符,可以是任何以test/ 开头的分支。然而,每次触发器触发时,Jenkins 作业都会从错误的分支中提取和构建。我注意到每次发生这种情况时,我都需要在 Jenkins UI 中对分支进行硬编码,然后选择“立即构建”选项并手动运行它。当我将构建返回到通配符规范并且触发器再次触发时,这次是从一个新分支,它是从我之前手动输入的分支构建的。示例工作流程:

  1. PR 合并到分支test/v1

  2. Jenkins 作业被触发,但从之前手动输入的分支构建(即test/v0

  3. 我硬编码分支并手动执行构建

  1. 将管道返回到通配符配置

  1. PR 合并到分支test/v2

  2. Jenkins 作业被触发,但从 test/v1 分支构建

更新

通过从分支说明符中删除remotes,我得到以下行为:

  1. PR 合并到test/v2

  2. Jenkins 作业被触发,但从 test/v1 构建

  3. 同时触发另一个从 test/v2 构建的作业

查看第 2 步构建的日志,我看到以下消息(这在第 3 步的构建中不存在):

多个候选修订版

安排另一个构建以赶上管道

【问题讨论】:

    标签: git jenkins github


    【解决方案1】:

    这原来是下面链接中提到的问题。回购中有多个以origin/test/ 开头的分支,导致多个构建候选者。只需删除这些分支即可解决问题。

    https://issues.jenkins-ci.org/browse/JENKINS-21464?focusedCommentId=250183&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-250183

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-07-28
      • 1970-01-01
      • 1970-01-01
      • 2016-03-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多