gpt4 book ai didi

git - Jenkins 和 Gerrit 与 google repo scm 的集成

转载 作者:行者123 更新时间:2023-12-04 17:54:39 25 4
gpt4 key购买 nike

我写这篇文章是因为我不清楚如何配置 jenkins 以从 gerrit 获取用于构建我的项目的更改。

网上有很多关于如何连接所有这些代码的教程/示例。但是我没有找到任何可以解释我想做什么的东西。我认为这是可能的,但是……好吧。我不确定。

我的设置:我有一个 repo list ,其中包含最终应用程序的许多不同模块。该应用程序以这种方式编写,因为我可以更改一个模块并将其替换为另一个具有类似代码但执行不同工作的模块。例如,它们可以针对不同的客户进行个性化设置。

我在 jenkins 中设置了一个作业来捕获每个子模块中的每个提交。

我将 Jenkins 连接到 Gerrit,然后我可以使用 gerrit 触发器开始构建。

它有效,我可以构建我的主控和当前主控。

我的问题是,当我发送补丁以供审查时,jenkins build the master,而不是我发送的补丁。我想在将最后一个补丁集成到 master 之前测试它。

模块不能独立构建,因为它们都以某种方式连接,所以我无法单独检查每个部分。

有人能够完成这样的事情吗?

最佳答案

当 Gerrit 触发器启动 Jenkins 作业时,您可以执行以下命令在执行构建之前准备工作区:

  1. 使用“repo sync”检查所有存储库
  2. 使用 GERRIT_PROJECT 和 GERRIT_REFSPEC Gerrit 触发器 env 变量并执行以下命令来检查已更改存储库的补丁集:

    cd $GERRIT_PROJECT

    git fetch https://USER@SERVER/a/$GERRIT_PROJECT $GERRIT_REFSPEC && git checkout FETCH_HEAD

    git fetch ssh://USER@SERVER:29418/$GERRIT_PROJECT $GERRIT_REFSPEC && git checkout FETCH_HEAD

关于git - Jenkins 和 Gerrit 与 google repo scm 的集成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41348393/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com