- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我从快速入门指南中创建了一个 gerrit 实例。
我的公司使用带有 pull 请求的 BitBucket,偶尔使用坩埚进行代码审查。我们将 Jenkins 与广泛的与 BitBucket 相关联的构建/部署管道结合使用。
我们希望集成 gerrit 进行代码审查,因为它能够在审查被接受之前暂存提交并构建/验证它们。
基本上,我希望 gerrit 的“提交”按钮将上游推送到 BitBucket。 (我宁愿不尝试通过复制来做到这一点;由于公司惯性,我想将 BitBucket 维护为上游/记录存储库。)
有人对如何完成此任务有任何建议吗?这种能力是否存在,或者这是一个新颖的想法?
最佳答案
Gerrit 通过围绕 Gerrit 本身托管的实际 Git 存储库提供(或多或少)薄包装器来实现其代码审查功能。据我所知,无法直接在 Gerrit 中集成外部 Git 存储库。
这意味着在使用 Gerrit 时,Git 存储库需要托管在 Gerrit 本身中。因此,您需要在 Gerrit 实例中维护 BitBucket 存储库的完整副本。所以这个问题基本上可以归结为保持两个 Git 存储库同步。
由于您已经在使用 Jenkins,我建议您在将新提交推送到 BitBucket 存储库时使用 Jenkins 构建来更新您的 Gerrit 存储库。为此,您需要:
refs/heads/*
ref 的 Push 权限。 Jenkins 将使用此用户。请注意不要将此权限授予任何最终用户,否则他们将能够通过直接推送来绕过代码审查。在 Gerrit 中提交代码审查时,需要将新的提交推回到 BitBucket。通常,我建议为此使用复制插件。下面是相应配置文件的样子(在 Gerrit 目录中的 etc/replication.config
中):
[remote "bitbucket"]
url = ssh://git@bitbucket.org/<your-user>/${name}.git
push = +refs/tags/*:refs/tags/*
push = +refs/heads/*:refs/heads/*
mirror = true
replicateOnStartup = true
replicatePermissions = false
既然您提到您希望避免使用复制,您也可以使用 Jenkins 作业将提交从 Gerrit 同步回 BitBucket。为了尽量减少延迟,您可以使用 Gerrit Trigger plugin for Jenkins (无论如何,您都希望将其用于预提交检查)。或者,您可以使用放置在 hooks/ref-updated
中的自定义 Gerrit Hook 来触发 Jenkins 构建(如果您希望我详细说明,请留下评论)。
希望这对您有所帮助!
关于git - Gerrit 作为审查工具,而不是记录存储库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30874078/
我们的团队使用一种标准,在所有提交消息前加上“bz12345:”(其中 12345 被您正在处理的错误替换),我希望能够搜索具有该错误编号的所有提交。 我已阅读 http://gerrit.googl
Gerrit Review 中的“跟进”按钮有什么作用?什么时候应该使用它? 我正在使用 Gerrit 2.13.8。 最佳答案 我看到提到了这个功能here因为我自己也很好奇,所以也尝试了一下。 .
我想从 Gerrit 复制一小段代码,但行号也被复制了。有什么办法可以去掉这些行号吗? 最佳答案 IE 的更新:安装一个 page-css-editing 插件,如“Internet Explorer
我们在 Gerrit 中有一个隐藏的项目。我对这个“功能”有两个问题: 在哪里可以在磁盘或数据库上找到此设置,以便验证项目的状态? 如何使隐藏的项目再次激活? 我是 Gerrit 的管理员,并且可以通
如何订阅 gerrit 项目,以便在上传新更改时收到通知。 谢谢, 拉维 最佳答案 Settings->Watched Projects->Browse,选择合适的项目,如果需要输入分支名称,点击Wa
我有一个名为“UI_Developers”的 gerrit 组 我正在使用以下命令提交我的更改以供审核: git push origin HEAD:refs/for/master%r=abc@morg
我正在 gerrit 中为我的公司设置访问控制,并且在我们当前的内部流程中,同行评审员和编码员(他们往往是同一群人)之间存在交叉。我们还希望只需要 1 个审阅者对代码进行同行评审,如果看起来不错就提交
我目前正在使用 Gerrit 来管理一个项目,我收到了有关 gerrit 太健谈的投诉。是否有办法过滤谁收到哪些电子邮件(即代码审查所有者收到所有电子邮件,而审查者仅在添加到新代码审查或添加新补丁集时
我以前都是写commit message来连接issue系统的,比如issue #9548,redmine起始页是固定的,不知道是否可以在gerrit系统中用hook或者plugin的方式写。 因此,
我的 gerrit 废弃提交中有一些更改,有什么方法可以再次合并它吗? 最佳答案 您可以: 点击更改(“重新调整基础以解决合并冲突”文本) 点击“恢复”按钮重新打开更改 关于gerrit - 如何找回
问题 您如何搜索过去从给定审阅者那里收到过 CodeReview-2 的提交? 上下文 基本上,我想对我曾经拒绝过的每一个提交进行回顾,以便我可以将这些评论分享给更多人。使用搜索词 reviewer:
在我们的Gerrit installation中(2.8.1-2-g724b796) 我想搜索我的无法合并但必须重新设置基础的变更集。例如,this change将“可以合并”设置为“否”,并且需要手
我想使用 gerrit web UI 添加一个新的用户/用户组,但是,我无法看到任何方法来做到这一点。命令行对于多个用户来说太乏味了。有人可以首先告诉这是否可能吗? 我正在使用 gerrit 2.9.
如果我对 Gerrit 中的一项更改有多个补丁集版本,则似乎我只能提交最新的补丁集版本(因为只有一个具有必要的按钮)。有没有简单的方法来代替 提交旧补丁集版本之一 相同的变化,只在那个 Gerrit
我想更改默认的 Gerrit commit-msg Hook 以自动添加 Signed-off-by。但是,我在 Gerrit 服务器中找不到文件 commit-msg,似乎 commit-msg 包
我在 Gerrit 上有一个正在审查的补丁列表(31 个补丁,一个接一个),我想知道如何在我的本地 git 上一次拉取它们。 我知道可以通过图形界面下载补丁: Checkout: git fetch
我正在尝试对 gerrit 事件执行一些操作 添加/创建新存储库时。 创建新补丁集时。 当更改 merge 到特定分支时。 想法是在任何存储库中发生上述任何情况时在 API 端点上获取事件。 我在 A
首先,我有一些零碎的理解。 我想要的是使用 gerrit 更改网址 :- http://review.xx.yy.com/gerrit/#/c/240262/ 我想通过使用 REST API(使用 c
我的工作场所开始使用 Gerrit 来管理我们所有的项目。我以前从未使用过 Gerrit。我正在尝试找出一个好的工作流程来使用它来提交代码以供审核。 我创建了一个分支foo。我做出了 promise
试图理解 gerrit 中的 refs/for/refs/* 功能。这个问题与 refs/for/master 无关。 我们什么时候可以使用这个 refs/for/refs/* 功能。 有人可以为此解
我是一名优秀的程序员,十分优秀!