您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 家居行业 > 使用Phabricator做CodeReview的介绍
使用Phabricator做CodeReview的介绍HaiyongLei1Phabricator的安装1.1下载Phabricator在安装目录/opt/codereview下运行:gitclone://github.com/phacility/arcanist.gitgitclone配置storage在安装目录/opt/codereview/phabricator下运行sudo./bin/configsetmysql.hostlocalhost//mysql主机地址sudo./bin/configsetmysql.userroot//mysql用户名sudo./bin/configsetmysql.pass123456//mysql用户密码sudo./bin/storageupgrade若从本机登入MySQL遇到Accessdeniedforuser'root'@'localhost'问题,运行:mysql-uroot-p-h127.0.0.1进入MySQLshell后,输入:GRANTALLPRIVILEGESON*.*TO'root'@'%'WITHGRANTOPTION;1.3配置Apache21.3.1site配置文件:新建/etc/apache2/sites-available/phabircator文件:VirtualHost*#Changethistothedomainwhichpointstoyourhost.ServerNamelocalhost#Changethistothepathwhereyouput'phabricator'whenyoucheckedit#outfromGitHubwhenfollowingtheInstallationGuide.##Makesureyouinclude/webrootattheend!DocumentRoot/opt/codereview/phabricator/webrootRewriteEngineonRewriteRule^/rsrc/(.*)-[L,QSA]RewriteRule^/favicon.ico-[L,QSA]RewriteRule^(.*)$/index.php?__path__=$1[B,L,QSA]Directory/opt/codereview/phabricator/webroot#Requireallgranted//手册里有这一行,删除/Directory/VirtualHost1.3.2可选,修改/etc/apache2/http.conf:添加一行:ServerNamelocalhost1.3.3运行apache2:sudoa2dissitedefaultsudoa2ensitephabricatorsudo/etc/init.d/apache2restart1.4用浏览器测试用浏览器打开测试,可以看到admin用户注册界面,注册一个admin用户用以完成后续设置。注意不要在浏览器地址栏输入localhost测试,Phabricator不支持后一地址。1.5Post-install设置a)SetBaseUri:sudo./bin/configsetphabricator.base-uri')SetRepoDir:sudomkdir-p/var/reposudochmoda+w/var/repoc)StartPhdDaemon:sudo./bin/phdstart注:每次修改Phabricator配置,都会要求重启Phd。sudo./bin/phdrestartStopPhd:sudo./bin/phdstopd)Pygmentize:sudoapt-getinstallpython-pygmentse)登入Phabricator:登入admin用户后,根据Phabricator给出的提示,fix其余setupissues。f)AddAuthProvider:登入admin用户后,在AuthAuthProvides菜单下,点击AddProvider按钮,启用Username/Password模块,否则外部无法访问Phabricator。2配置Diffusion模块在ConfigApplicationsConfiguration菜单下,修改Diffusion选项:(暂无修改)3配置Differential模块在ConfigApplicationsConfiguration菜单下,修改Differential选项:require-test-plan-field//是否检查有无TestPlan,设为false。allow-reopen//允许重开allow-self-accept//允许patchowner自我批准4添加代码库在Diffusion里可添加外部git/svn/hg代码库。代码库同步功能需要Phd服务运行:sudo./bin/phdstart注:codereview是Differential的功能,不依赖与Diffusion的代码库。代码库添加成功后,Phabricator需要几分钟时间同步,完成后可以直接浏览代码库内容。代码库host在Phabricator里,暂未研究。5arc安装和使用5.1ubuntu下安装:安装PHP5:sudoapt-getinstallphp5安装svn或git:sudoapt-getinstallsubversionsudoapt-getinstallgit下载arc到本地:gitclone://github.com/phacility/arcanist.git添加arc的path:PATH=$PATH:/opt/codereview/arcanist/binexportPATH5.2windows下安装:安装TortoiseSVN或GitForWindows:://git-for-windows.github.io/注:TortoiseSVN要装commandlinetools选装项。安装PHP5forWindows:下载arc到本地:gitclone://github.com/phacility/arcanist.git设置PATH环境变量使得php5、arc和svn能从命令行访问;设置EDITOR环境变量指向偏爱的编辑器,比如notepad.exe。5.3验证安装:运行archelp确认无误。5.4arc基本命令:arcinstall-certificate//配置tokenarcdiff//提交patch到Phabricatior,得到RevisionIDarcdiff--updateDnnn//提交修改后的patch,Dnnn是RevisionIDarccommit//合入patch到SVN并关闭Phabricatior上的arcclose-revisionDnnn//关闭Phabricatior上这个patch对应的RevisionIDarclist//列出本地workingRevisionID6Review流程、本流程参考自FreeBSD.org的CodeReview流程。6.1Setupa)创建帐号浏览器中打开Phabricator,按提示创建一个普通用户帐号,等admin审批通过后即可使用。b)安装token:arcinstall-certificateserver-address输入后,arc将会提示:C:\Users\Haiyongarcinstall-certificate://192.168.68.135/conduit/login/ThenpastetheAPITokenonthatpagebelow.PasteAPITokenfromthatpage:cli-hv44cg7bi7jthlbfsazemfi7xqenWriting~/.arcrc...SUCCESS!APITokeninstalled.用创建的账号登入Phabricator,打开提示中给出页面,拷贝其中token到命令行即可。c)设置默认服务器地址arcset-configdefaultserver-address6.2Review流程本流程参考自FreeBSD.org的CodeReview流程。图:Review流程第一步,提交你的patch:完成本地修改之后,提交你的patch到Phabricator,命令如下:arcdiff注:提交到Phabricator而非svn代码库,此时svn代码库不受任何影响。类似svncommit命令,arcdiff会打开指定编辑器,要求你输入comment:RejectAccept修改提交arcdiff--createarcdiff--update通知准备本地代码Review合入svncommit关闭arcclose-revisionclose-revisionReplacethislinewithyourRevisionTitleSummary:TestPlan:Reviewers:Subscribers:#NEWDIFFERENTIALREVISION#Describethechangesinthisnewrevision.忽略#开头的行:开头:本次修改的详细描述,必填,可以换行(从第一行到Summary行)。Summary:本次修改的简短描述,必填。TestPlan:留空,不填。Reviewers:Reviewer的账号,可填多个。可以不填,之后打开Phabricator补上。Subscribers:订阅者的账号,可选。如果成功,arc会给出本次提交的RevisionID用于后续引用。RevisionID以D+数字的形似表示,如:D1234。CreatedanewDifferentialrevision:RevisionURI:第二步,通知Reviewer:如果第一步没有填写reviewer,现在可以打开Phabricator修改你的提交,添加reviewer。Phabricator会邮件通知reviewer有新的提交。第三步,Review发现问题:Reviewer如果发现一些问题,提出修改建议。提交者再次修改代码,重新提交到同一个RevisionID,命令如下:arcdiff--updateDnnn注:必须使用开头提交时给的RevisionID。第四步,Review通过:所有Reviewer认可你的patch之后,patch允许被合入代码库并关闭:svncommit注:此命令是svn命令非arc命令arcclose-revisionDnnn注:此命令在Phabricator里完结本次提交。注:a
本文标题:使用Phabricator做CodeReview的介绍
链接地址:https://www.777doc.com/doc-2687087 .html