【问题标题】:How downstream job uses the git commit that is passed by upstream job?下游作业如何使用上游作业传递的 git commit?
【发布时间】:2011-12-28 08:06:13
【问题描述】:

我有两个作业(A 和 B),我想要 B 由 A 触发,在 A 成功构建后 A 使用 git commit。

构建触发插件支持使用上游作业中使用的 git commit 触发下游作业。

我的问题是下游作业如何使用传入的提交来签出。没有找到job A传递了哪个变量,如何通过Jenkins的Git插件使用传入的commit值来检出B中的代码?

【问题讨论】:

    标签: hudson jenkins hudson-plugins


    【解决方案1】:

    现在(参数化触发器 2.37,Jenkins 2.204),“触发器参数化构建”似乎可以选择“传递已构建的 Git 提交”。即使在下游作业中没有任何特殊配置也可以工作。 Similar question

    【讨论】:

      【解决方案2】:

      我遇到了同样的问题。您需要确保在下游项目的“作业通知”选项卡中,勾选“此项目已参数化”选项。如果不选择此项,则下游作业似乎不期望上游作业的参数,因此它忽略了参数。

      假设上游作业是A,下游作业是B

      在上游工作 A 中:

      构建 --> 在其他项目上触发/调用构建 --> 要构建的项目 --> 指定您的下游工作(ieB)

      然后 添加参数 --> 预定义参数(选择适合您的参数) 在“parameters”中指定要传递给下游作业 B 的参数。例如,

      GIT_COMMIT=$GIT_COMMIT

      GERRIT_BRANCH=$GERRIT_BRANCH

      请注意,您必须每行放置一个参数名称/值

      在下游项目 B:

      工作通知 --> 这个项目是参数化的 --> 添加参数 --> 字符串参数

      插入参数的名称和默认值。例如,对于上述两个参数,您可以将名称和默认值对插入为

      名称:GIT_COMMIT

      默认值:$GIT_COMMIT

      名称:GERRIT_BRANCH

      默认值:$GERRIT_BRANCH

      这个配置非常适合我。

      【讨论】:

        【解决方案3】:

        我也有同样的问题。核心问题似乎是 Jenkins 默认情况下不会将构建时变量从上游作业转移到下游作业。因此 GIT_COMMIT 变量将为空,除非您在源代码管理部分的下游作业中实际添加存储库定义。据我所知,它确实从 repo 中获取了上游 git 哈希,所以它不仅仅是最新的。

        这绝对是一个令人沮丧的点,我花了很长时间才解决。

        【讨论】:

        • 另外,被调用的作业似乎(现在)需要声明它接收到 GIT_COMMIT,但提交哈希值实际上是在 GIT_PREVIOUS_COMMIT 中找到的。
        【解决方案4】:

        Jenkins Git 插件是一个智能工具。无需特定配置。在上游作业中,使用上游作业使用的 Git commit 触发下游作业,下游会自动检查上游传入的提交。

        【讨论】:

        • 你能解释一下这如何与构建管道一起工作。我希望下游构建使用上游构建的 GIT_COMMIT 变量。你能告诉我如何配置吗?
        • @leenasn 我正在使用参数构建触发器。上游作业将触发下游作业,而下游作业通过构建的传递 Git Commit 保持稳定。下游不需要具体配置,只需要为其指定同一个git仓库即可。 Jenkins 核心将负责检查上游传入的提交。
        • @Kane 你有任何文件或证据表明这是真的吗?
        • @Blowsie 您可以检查下游作业的构建信息。可以发现 git commit 和上游一样。
        • 凯恩说的是真的,但毫无意义。为什么插件选择了这种不透明的方法来做这件事,我无法理解。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多