- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我们的团队最近开始尝试使用 Phabricator 进行代码审查。
除了 Phabricator 之外,我们还有一个测试系统,可以自动构建和测试推送到我们主 git 存储库中特定分支的任何代码。有没有办法让 arc diff
自动将 diff 推送到那个特定的分支?测试通常需要几个小时,我希望人们可以在测试代码时查看代码。能否以某种方式将其集成为单元测试,而不必在发送差异以供审核之前完成?
最佳答案
arc diff
的目的是允许在将代码登陆到分支上的情况下执行测试/代码审查。我们通过 Herald 规则、Harbormaster 构建计划和 Jenkins 在这里做到这一点。
创建/更新差异时,监视 Repo 的 Herald 规则触发 Harbormaster 构建计划,该计划通过 HTTP post 请求触发 Jenkins。我将尝试详细说明基础知识,但如果您选择走这条路,我建议您在构建此过程时查看一些其他 Material 。
请注意 - Harbormaster 被列为“原型(prototype)”。意思是,对它的支持有限。但是,除了编写您自己的自定义代码之外,没有其他方法可以执行我在此建议的操作。
我希望这里有足够的内容来帮助您入门。根据您的特定需求进行制作需要您提供更多细节。这就是我们所做的,对我们来说效果很好。我希望它对你有用。
必须对测试作业进行参数化,以便您可以将差异和构建 ID 作为参数传递。
在你的测试中,你会做这样的事情来从差异中提取代码:
#!/bin/bash
# Clean the branch
git fetch --all
git checkout master
git reset --hard origin/master
git pull
# Delete the arcpatch branch (ignoring error if the branch doesn't exist)
git branch -D arcpatch-D$DIFF || true
# Apply the patch
arc patch D$DIFF
# Update dependencies
git submodule update
composer install
然后触发您的常规测试。测试后,您将需要一些类似这样的代码来查看使用构建结果更新 Phabricator:
#!/bin/bash
# Let Phabricator know if the build succeeded
if [ -n "$PHID" ]; then
export PATH=$PATH:~/bin/arcanist/bin
if [ {{{Code to determine Failure}}} ]; then
jsonResult="{\"buildTargetPHID\":\"$PHID\",\"type\":\"fail\"}";
else
jsonResult="{\"buildTargetPHID\":\"$PHID\",\"type\":\"pass\"}";
fi
echo $jsonResult | arc call-conduit harbormaster.sendmessage;
fi
与此同时,开发人员可以引用该差异 (http://{Phabricator.url}/D####)、审查代码,甚至可以按照与上述测试作业类似的流程运行任何测试。
先驱规则将在差异修订时触发。它将寻找任何指示您想要测试的更改(通常是特定 repo 中的任何内容)并将运行构建计划(如果您使用的是如何创建链接到 Jenkins 的构建计划,请参阅其他引用资料).
http://www.guywarner.com/2014/05/integrating-jenkins-and-phabricator.html http://www.guywarner.com/2014/06/part-2-integrating-phabricator-and.html
关于git - 有没有办法让 Phabricator 将差异推送到存储库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29173784/
Phabricator 是否允许与 Gliffy 或 Lucidchart 等工具集成以在 wiki 中制作图表? 怎么用Phabricator作为wiki来做架构图,有例子吗? 最佳答案 Phabr
我是 phabricator 的新手。 我正在尝试为一个项目在 Phabricator 上创建一个错误。 我所看到的只是创建一个任务。该任务没有子类别,无论它是错误/积压项目等。 提前致谢 最佳答案
我们的 Subversion 存储库和 Phabricator 安装有不同的身份验证系统。 但似乎 Phabricator 假定提交作者和 Phabricator 帐户将相同。文档中没有提到提交作者如
如何配置phabricator以支持匿名http? 我关注 official guide ,似乎使用 http 来托管所需的存储库 diffusion.allow-http-auth是 启用 , 但是
我们的团队正在使用 phabricator 来审查代码。在 Eclipse 中,我们可以在 checkin 存储库时在评论中发布添加的 Auditors: someone 的审核请求。 comment
我已经使用了一些配置设置并搜索了文档,但找不到任何关于此的信息。 Phacility 自己的 Phabricator 实例就是这样工作的(我也看到过其他安装),所以我认为必须有一种相对简单的方法来设置
我们公司使用 phabricator 作为代码审查流程。去年我在 phabricator 上创建了一些代码审查请求。但是现在我想删除它们。但是我找不到任何可以删除我的代码审查请求的按钮。任何帮助,将不
我在 phabricator 中为开发分支创建了评论,更新了几次,然后推送了分支进行测试。审查未完成但 phabricator 自动关闭它。 我可以创建另一个差异评论,但所有评论和更新都将是旧的...
我已经设置了 phabricator 并添加了几个用户。我注意到我可以更改用户的真实姓名或用户名,但我无法更改他们的电子邮件地址。有什么原因不向管理员公开吗?是否有允许管理员更改电子邮件地址的服务器设
我使用 Phabricator 进行代码审查,但项目一旦创建就无法删除。我唯一能做的就是将项目状态从事件更改为存档。另一个问题是任务,与项目相同,一旦创建任务,我就无法删除它。 有时,人们尝试测试 P
也许我是个白痴,但我有一个非常简单的问题:如何将 Phabricator 安装的主页更改为仪表板?我可以在 Phabricator 中创建一个仪表板......但是我如何确保当用户访问安装的基本 ur
有没有办法在电子表格格式的预推送代码审查中获取代码审查提交收到的评论? 这对于指标计算是必需的(代码行数与收到的评论数)。 这个有插件吗? 最佳答案 目前没有这样的选项。 更多详情 https://s
我安装了 Phabricator,一个用户以非标准形式创建了一个用户名。该用户已从批准屏幕中删除。 但是现在不可能在新表单中重新创建用户,因为不区分大小写的用户名相同,但电子邮件地址也相同 如何告诉
我在 Phabricator 中做了一个差异,其中包含一个包含敏感信息的配置文件。通常我会满足于放弃差异,但我不希望任何人看到我的密码(即使在我更改密码之后) 我应该在提交时更加小心,但它已经完成了。
在 Phabricator 中,我想在一个空间内创建一个项目或想将一个现有项目分配给一个空间,但我找不到这样做的方法。 在 Phacility 创建新任务之前,我想确定我是否遗漏了什么。 . 更新:我
转至 差异 -> 高级搜索 在 Phabricator 查询表单中的第一个字段是“负责用户”。它是做什么用的? 我无法弄清楚我负责哪些差异......即使我在评论者列表或差异的项目评论者中,我的一些评
例如: 我希望所有审阅者(最初指定或后来添加的)在更改被接受之前批准更改。 我想指定需要批准的审阅者和可选的其他一些批准。 我想批准更改,但同时添加另一个审阅者,他也需要在更改被接受之前批准更改。 我
我需要在我们的 Phabricator 安装中获取一个项目和多个用户的 PHID。找出如何执行此操作似乎很简单,但我搜索了文档无济于事。我是不是找错地方了? 最佳答案 最简单的方法: 进入项目 点击新
当标签推送到 Phabricator 托管的 git repo 时,我想使用 herald 来触发构建计划。 但是我发现我不能这样做,因为先驱规则中的提交钩子(Hook)(标签/分支)的类型无法触发构
我正在尝试设置 Phabricator 以使用 github,但我不知道在必须输入 Github SSH key 凭据的步骤中应该添加什么: 我应该从本地计算机输入我的用户名和 SSH key 吗?
我是一名优秀的程序员,十分优秀!