首页
在线工具
搜索
1
使用Metrics指标度量工具监控Java应用程序性能(Gauges, Counters, Histograms, Meters和 Timers实例)
2
如何将Virtualbox和VMware虚拟机相互转换
3
Jumpserver的MFA配置
4
Kuboard与KubeSphere的区别:Kubernetes管理平台对比
5
Markdown正确使用姿势
杂谈与随笔
工具与效率
源码阅读
技术管理
运维
数据库
前端开发
后端开发
Search
标签搜索
Angular
Docker
Phabricator
SpringBoot
Java
Chrome
SpringSecurity
SpringCloud
DDD
Git
Mac
K8S
Kubernetes
ESLint
SSH
高并发
Eclipse
Javascript
Vim
Centos
Jonathan
累计撰写
86
篇文章
累计收到
0
条评论
首页
栏目
杂谈与随笔
工具与效率
源码阅读
技术管理
运维
数据库
前端开发
后端开发
页面
搜索到
4
篇与
的结果
2019-03-11
Phabricator、禅道、JIRA 对比分析
Phabricator、禅道、JIRA 对比分析:使用、功能与生态 在软件开发和项目管理中,选择合适的 项目管理工具 对于团队效率至关重要。今天,我们对比三款主流的 项目管理与缺陷跟踪系统——Phabricator、禅道和 JIRA,从 使用体验、核心功能、生态系统 三个方面进行深入分析,帮助团队选择适合自己的工具。 一、Phabricator、禅道、JIRA 简介 1. Phabricator Phabricator 是由 Facebook 开发的一款开源代码评审和项目管理工具,提供 代码托管、代码审查、任务管理、持续集成 等功能。 适用于技术驱动型团队,特别是需要强大代码审查能力的开发团队。 提供高度可定制的工作流,支持 Git、Mercurial 和 SVN。 2021 年停止官方维护,但社区仍有一定活跃度。 个人比较喜欢 Phabricator,虽然它已经停止维护,但它的代码审查功能极其强大,适合工程师文化浓厚的团队。 2. 禅道 禅道是一款 国产开源的项目管理工具,专注于 敏捷开发(Scrum)、缺陷管理、需求管理,广泛应用于国内软件企业。 提供完整的 项目管理 和 测试管理 功能。 更符合国内开发流程,适合 中小型企业 以及 敏捷团队。 支持 瀑布模型、Scrum 和 Kanban,并且提供企业版支持。 3. JIRA JIRA 是 Atlassian 推出的 全球领先的缺陷跟踪与项目管理工具,广泛应用于 企业级开发团队。 提供 丰富的插件生态,适用于不同规模的团队。 强大的 敏捷管理(Scrum、Kanban)和 工作流定制 功能。 适用于 大型企业、复杂项目管理,但 价格较高。 二、功能对比 功能 Phabricator 禅道 JIRA 代码托管 ✅ 支持 Git/Mercurial/SVN ❌ 不支持 ✅ 通过 Bitbucket、GitHub、GitLab 集成 代码审查 ✅ 强大的审查功能 ❌ 无内置支持 ✅ 通过 Bitbucket、Crucible 插件支持 任务管理 ✅ 可定制任务工作流 ✅ 专为敏捷设计 ✅ 强大且灵活 缺陷管理 ✅ 自带 Bug 跟踪 ✅ 专业缺陷管理 ✅ 业界标准 敏捷开发 🚫 需手动配置 ✅ 原生支持 Scrum/Kanban ✅ 原生支持 工作流自定义 ✅ 高度自定义 ⚠️ 适中 ✅ 最强大 插件扩展 🚫 社区插件较少 ⚠️ 部分插件支持 ✅ 丰富插件生态 部署方式 ✅ 自托管 ✅ 自托管 ✅ 云端/自托管 企业支持 ❌ 无官方支持 ✅ 提供商业支持 ✅ Atlassian 官方支持 三、生态系统对比 1. Phabricator 开源社区驱动,但官方已停止维护。 适合 工程文化浓厚的技术团队,但 非技术人员上手难度较高。 插件生态较弱,但支持 二次开发。 虽然官方已停止维护,但仍然是一款优秀的工具,尤其适合小型、高度工程化的团队使用。 2. 禅道 国内生态较强,有大量中文文档与本地化支持。 适合国内软件企业,特别是 中小型团队。 企业版提供 更多功能,如 DevOps、测试管理、需求管理。 3. JIRA 全球市场占有率最高,大公司、国际化团队首选。 插件生态极其丰富,可通过 Atlassian Marketplace 扩展功能。 提供 强大的云端 SaaS 方案,减少运维成本。 四、适用场景推荐 需求 推荐工具 需要强大代码审查、代码管理 Phabricator 追求 性价比,国内开发团队,支持敏捷 禅道 需要企业级项目管理、扩展性强 JIRA 五、总结 Phabricator 适合技术团队,代码审查优秀,但 官方已停止维护,需要团队自行维护。尽管如此,我个人仍然喜欢 Phabricator,它的代码审查和任务管理功能极具吸引力。 禅道 是国内软件团队的首选,特别适合 中小企业、敏捷开发,但国际化支持较弱。 JIRA 是企业级的行业标准,功能最强大、扩展性最广,但 成本较高。 最终选择哪款工具,取决于 团队规模、开发模式和预算。如果你所在团队对敏捷、需求管理有较高需求,禅道或 JIRA 会是更合适的选择;如果你是一个技术驱动的团队,Phabricator 可能会更适合。 个人管理团队的话一直使用phabricator
2019年03月11日
2018-10-16
Phabricator Centos7 安装部署
1. mkdir & download mkdir -p /data/app/pha cd /data/app/pha wget http://www.phabricator.com/rsrc/install/install_rhel-derivs.sh chmod +x install_rhel-derivs.sh ./install_rhel-derivs.sh 2. add nginx config vi /etc/nginx/conf.d/pha.conf server { server_name p.com; root /data/app/pha/phabricator/webroot; location / { index index.php; rewrite ^/(.*)$ /index.php?__path__=/$1 last; } location = /favicon.ico { try_files $uri =204; } location /index.php { fastcgi_pass localhost:9000; fastcgi_index index.php; #required if PHP was built with --enable-force-cgi-redirect fastcgi_param REDIRECT_STATUS 200; #variables to make the $_SERVER populate in PHP fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param QUERY_STRING $query_string; fastcgi_param REQUEST_METHOD $request_method; fastcgi_param CONTENT_TYPE $content_type; fastcgi_param CONTENT_LENGTH $content_length; fastcgi_param SCRIPT_NAME $fastcgi_script_name; fastcgi_param GATEWAY_INTERFACE CGI/1.1; fastcgi_param SERVER_SOFTWARE nginx/$nginx_version; fastcgi_param REMOTE_ADDR $remote_addr; } } 2. add apache config vi /etc/httpd/conf/httpd.conf <VirtualHost *:80> # Change this to the domain which points to your host. ServerName team.idinu.com # Change this to the path where you put 'phabricator' when you checked it # out from GitHub when following the Installation Guide. # # Make sure you include "/webroot" at the end! DocumentRoot /opt/phabricator/webroot RewriteEngine on RewriteRule ^/rsrc/(.*) - [L,QSA] RewriteRule ^/favicon.ico - [L,QSA] RewriteRule ^(.*)$ /index.php?__path__=$1 [B,L,QSA] </VirtualHost> <Directory "/opt/phabricator/webroot"> Order allow,deny Allow from all Require all granted </Directory> Apache 2.4 and Newer <Directory "/path/to/phabricator/webroot"> Require all granted </Directory> 3. 初始化 phabricator/ $ ./bin/storage upgrade 4. 本机添加默认对应domain vi /etc/hosts 127.0.0.1 ph.xx.com 5. 更新 Updating PhabricatorSince Phabricator is under active development, you should update frequently. To update Phabricator: Stop the webserver (including php-fpm, if you use it). Run git pull in libphutil/, arcanist/ and phabricator/. Run phabricator/bin/storage upgrade. Restart the webserver (and php-fpm, if you stopped it earlier). For more details, see Configuration Guide. You can use a script similar to this one to automate the process: http://www.phabricator.com/rsrc/install/update_phabricator.sh 5. 常见配置问题修复 1. Base URI Not Configured 设置对应的url phabricator/ $ ./bin/config set phabricator.base-uri 'http://p.com/' 2. Phabricator Daemons Are Not Running 通过phd用户启用phd phabricator/ $ ./bin/phd start 详细过程: vi /etc/passwd phd:x:501:501:Phd:/var/tmp/phd:/bin/bash git:x:500:500:Git:/data/app/repo:/bin/bash vi /etc/shadow phd:!!:16135:::::: git:NP:16135:0:99999:7::: visudo ## HTTP: apache ALL=(phd) SETENV: NOPASSWD: /usr/libexec/git-core/git-http-backend ## SSH: git ALL=(phd) SETENV: NOPASSWD: /usr/bin/git-upload-pack, /usr/bin/git-receive-pack, /bin/sh vi /etc/group git:x:500:git phd:x:501:phd ./bin/config set phd.user phd ./bin/config set diffusion.ssh-user git cp /data/app/pha/phabricator/resources/sshd/phabricator-ssh-hook.sh /usr/libexec/phabricator-ssh-hook.sh chown root /usr/libexec/phabricator-ssh-hook.sh chmod 755 /usr/libexec/phabricator-ssh-hook.sh vi /usr/libexec/phabricator-ssh-hook.sh Change VCSUSER="vcs-user" to VCSUSER="git" Change ROOT="/path/to/phabricator" to ROOT="/data/app/pha/phabricator" cp /data/app/pha/phabricator/resources/sshd/sshd_config.phabricator.example /etc/ssh/sshd_config.phabricator vi /etc/ssh/sshd_config.phabricator Change AuthorizedKeysCommand /etc/phabricator-ssh-hook.sh to AuthorizedKeysCommand /usr/libexec/phabricator-ssh-hook.sh Change AuthorizedKeysCommandUser vcs-user to AuthorizedKeysCommandUser git ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key sudo /usr/sbin/sshd -f /etc/ssh/sshd_config.phabricator 需要添加一个服务器的rsa key ssh-keygen -t rsa cat ~/.ssh/id_rsa.pub Go to xx.com Settings->SSH Public Keys -> Upload .. 验证是否成功 echo {} | ssh git@p.com conduit conduit.ping 修改默认ssh端口22到222 vi /etc/ssh/sshd_config Change port 22 to port 222 systemctl restart sshd firewall-cmd --zone=public --add-port=222/tcp --permanent firewall-cmd --reload 用phd用户启动phd mkdir -p /var/tmp/phd chown phd:phd -R /var/tmp/phd ./bin/phd start
2018年10月16日
2017-01-04
Phabricator系列之国际化-中文
Phabricator系列之国际化-中文 Phabricator现在有新的方式进行国际化(主要是中文化)了. (2015-07-06) 前一段时间, 团队用的Phabricator开始滚动往前更新, 确定下来是每周和官方网站同步一次. 之前也是为了解决一个问题, 在任务(Maniphest)分配的时候选择成员的时候, 少了一个成员, 只能用(Edit Task)重新指派人. 后来无意间发现一个清除缓存的命令, 一执行就修复好了. ./bin/cache purge 当前本文的重点在于中文化, 参考了现在最新的wiki, 发现现在的中文化比以前方便许多, 不用再每次同步都要还原几个文件再辛苦执行arc liberate 第一步, 我们新建一个PhutilCNChineseLocale.php, 里面放一个PhutilCNChineseLocale继承一个类叫做PhutilLocale, 实现getLocaleCode和getLocaleName这两个方法 分别在这两个方法里面返回zh_CN和中文 (简体中文) 第二步, 新建PhabricatorCNChineseTranslation.php, 继承PhutilTranslation类, 实现getLocaleCode和getTranslations这两个方法 getLocaleCode中返回zh_CN, getTranslations中返回一个数组, 这个数组还是用我们之前生成的数据 ./bin/i18n extract ./src/applications/ 执行完成之后会生成我们所需要的数组, 把这个数据放到getTranslations里面. (这个数据还是超大的, 我这里大概1.6M的样子, 因为Phabricator几十个应用都有了) 如果只用到某些应用的话, 也可以只生成部分 ./bin/i18n extract ./src/applications/maniphest/ 第三步, 一点一点把getTranslations里面的数组翻译过来, 把值为null的都翻译成中文就可以. 第四步, 我们进入个人设置页面, 把Translation这一项, 选择下拉框里面的中文(简体中文), 保存设置就能看到中文结果了. 最后完成的时候, 就是这样一个目录结构 ├── phabricator-zh_CN │ ├── PhabricatorCNChineseTranslation.php │ ├── PhutilCNChineseLocale.php 这里给出我们项目中的一个结构, 直接将这个clone到本地phabricator/src/extensions目录下面就可以了 https://github.com/wanthings/phabricator-zh_CN.git 本文都内容都是参考官方wiki写的, 以下都是参考文章 Adding New Classes Internationalization
2017年01月04日
2016-06-15
Windows下Phabricator Arcanist的安装与使用
Windows下Phabricator Arcanist的安装与使用 Arcanist是Phabricator提交代码评审的客户端工具,虽然可以直接在Differential界面手动创建Diff和Revision,但使用Arcanist会更加方便,特别是对于习惯命令行操作的开发者。 注意事项 如果遇到错误 ERR-CONDUIT-CORE: Invalid parameter information was passed to method 'differential.creatediff',请确保所有文件名均为英文。 安装步骤 1. 安装PHP 需要安装PHP 5.2或以上版本,推荐下载PHP 5.4 VC9 x86 Non Thread Safe版。具体步骤如下: 解压到指定目录:例如解压到 C:\PHP。 加入环境变量:将PHP安装目录(如 C:\PHP)添加到系统的 PATH 环境变量中。 配置php.ini: 复制 php.ini-development 文件为 php.ini。 在 php.ini 中取消以下几行的注释: extension_dir = "ext" extension=php_curl.dll extension=php_mbstring.dll 注册PHP文件类型(可选): 将 .php 扩展名添加到 PATHEXT 环境变量中。 关联 .php 文件类型: assoc .php=phpfile ftype phpfile="C:\PHP\php.exe" -f "%1" -- %~2 需要以管理员权限运行上述命令。 2. 安装SVN客户端 需要安装支持命令行的SVN客户端(不是TortoiseSVN)。可以从Subversion官方网站选择合适的版本,推荐安装CollabNet的Subversion 1.8.0,下载地址(需要注册):CollabNet Subversion。 测试安装是否成功 打开命令提示符并输入以下命令进行测试: C:> svn Type 'svn help' for usage.
2016年06月15日