GitHub、Gerrit、Hudson(Jenkins) 工作流程

发布于 2024-09-24 00:26:23 字数 191 浏览 6 评论 0 原文

我刚刚开始一起使用 GitHub、Gerrit 和 Hudson(Jenkins)。我需要一些关于工作流程的想法。

我们想使用 GitHub 作为我们的主要远程存储库。我们希望主要使用 Gerrit 进行代码审查,但也用于 Hudson 中的构建触发器。

不过,目前我在思考工作流程时遇到了一些困难,并且想听听其他人自己做了什么。想法?

I'm just getting started using GitHub, Gerrit, and Hudson(Jenkins) together. And I need some thoughts on workflow.

We'd like to use GitHub as our main remote repo. We'd like to use Gerrit primarily for code reviews, but also for build triggers in Hudson.

At the moment, though, I'm having some trouble thinking through the workflow for this and would like to hear what others have done themselves. Thoughts?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

人海汹涌 2024-10-01 00:26:23

我们正在使用 githubgerritjenkins哈德森)。我们将其与 redmine 结合起来进行错误跟踪。

在 gerrit 之前,我们使用 github 作为主要开发存储库,开发人员拥有提交访问权限。现在我们已经运行了 gerrit,github 仅用作我们的发布存储库,并且只有 gerrit 用户有权推送到 github。

工作流程:

  1. 开发人员从 github 检查源代码。
  2. 开发人员进行更改。
  3. 开发人员推送到 gerrit。
  4. gerrit 向 jenkins 发送变更通知以进行集成测试。
    • jenkins 直接从 gerrit git 服务器提取更改。
    • 通过后,jenkins 会为 gerrit 审核添加 +1,并将审核传递给其他开发者。
    • 失败时,jenkins 会在 gerrit 审核中添加 -1
    • 通过/失败状态推送至 redmine
  5. 其他开发人员审核更改,批准 (+2)
  6. gerrit 将更改提交到 github 存储库。
    • github hook 通知 redmine 更新。
    • redmine 从 github 中提取更改,解析提交消息以获取票证信息。
  7. 开发人员从 github 获取更改...回到 2。[编辑]:我们切换到直接从 gerrit 拉取。 Github 仍然是拉动生产源的镜子。

缺少的部分:

  1. gerrit 审核与错误跟踪相关的部分

We are using github, gerrit and jenkins (successor of hudson). We tie it together with redmine for bugtracking.

Prior to gerrit, we were using github as the primary development repository and developers had commit access. Now that we have gerrit running, github is only used as our publish repository and only the gerrit user has access to push to github.

workflow:

  1. developer checks out source from github.
  2. developer makes changes.
  3. developer pushes to gerrit.
  4. gerrit sends change notice to jenkins for integration test.
    • jenkins pulls changes directly from gerrit git server.
    • on pass, jenkins adds +1 to gerrit review, passes review to other developers.
    • on failure, jenkins adds -1 to gerrit review
    • pass/fail status pushed to redmine
  5. other developers review change, approve (+2)
  6. gerrit commits changes to github repository.
    • github hook notifies redmine of updates.
    • redmine pulls changes from github, parses commit messages for ticket information.
  7. developer fetchs changes from github ... back to 2. [EDIT]: we switched to pulling directly from gerrit. Github remains as a mirror for pulling production sources.

Missing pieces:

  1. piece to tie gerrit review to/from bug tracking.
烛影斜 2024-10-01 00:26:23

我没有直接使用 Gerrit,但我喜欢中间和专门的存储库之间的想法:

  • 您的开发人员的存储库
  • 中央 GitHub 远程存储库

因此您需要确定要在远程 GitHub 存储库中发布的内容:

  • 要审查的代码(意味着本地 Gerrit Web 应用程序会拉取 GitHub 代码来检查)
  • 已审核的代码(意味着您首先将提交发布到 Gerrit,然后在代码审核后将它们推送到 GitHub)

第二个工作流程更接近于 Google Android 项目遵循 Gerrit

在这两种情况下,都需要一个中间本地存储库供 Gerrit 检查。

I haven't directly used Gerrit, but I like the idea of intermediate and specialized repo between:

  • your developer's repos
  • the central GitHub remote repo

So you need to determine what you want to publish in the remote GitHub repo:

  • code to be reviewed (meaning a local Gerrit webapp would pull the GitHub code to examine)
  • code that has been reviewed (meaning you publish first your commits to Gerrit, and after code review, you push them to GitHub)

The second workflow is closer to what Google Android Projects follows with Gerrit.

In both cases, an intermediate local repo for Gerrit to examine is needed.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文