温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何搭建Phabricator开发管理平台

发布时间:2021-12-10 17:31:27 阅读:169 作者:柒染 栏目:云计算
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

本篇文章给大家分享的是有关如何搭建Phabricator开发管理平台,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

一、搭建Phabricator开发管理平台

1.1 上传 SSL/TLS 证书

第一步:下载证书并解压
如何搭建Phabricator开发管理平台
第二步:将证书和私钥上传到开发管理平台服务器

1. sftp buntu@123.207.229.22
2. put 1_dev.*

第三步:将证书和私钥复制到 /host/crt 文件夹
登录云主机 ssh ubuntu@123.207.229.22 ,运行以下命令

1. mkdir -p /host/crt
2. cp ~/1_dev.appcook.cn_bundle.crt /host/crt/https.cert
3. cp ~/1_dev.appcook.cn.key /host/crt/https.cert.key

1.2 创建 Phabricator 容器

登录云主机 ssh ubuntu@123.207.229.22 ,使用 docker run 命令, 创建一个名为 pha
的容器。

1. docker run -d --restart=always --name=pha \
2. -p 80:80 -p 443:443 -p 2222:22 \
3. --env PHABRICATOR_HOST=dev.appcook.cn \
4. --env MYSQL_HOST={{数据库内网地址}} \
5. --env MYSQL_USER={{数据库用户名(有建库权限)}} \
6. --env MYSQL_PASS={{数据库密码}} \
7. --env PHABRICATOR_VCS_PORT=2222 \
8. --env PHABRICATOR_REPOSITORY_PATH=/repos \
9. --env PHABRICATOR_HOST_KEYS_PATH=/hostkeys/persisted \
10. --env PHABRICATOR_STORAGE_TYPE=disk \
11. --env PHABRICATOR_STORAGE_PATH=/files \
12. --env SSL_TYPE=manual \
13. --env SSL_CERTIFICATE=/crt/https.cert \
14. --env SSL_PRIVATE_KEY=/crt/https.cert.key \
15. -v /host/hostkeys:/hostkeys \
16. -v /host/repo:/repos \
17. -v /host/files:/files \
18. -v /host/crt:/crt \
19. hachque/phabricator

1.3 解析域名

将域名 dev.appcook.cn 解析到 123.207.229.22
第一步: 登录腾讯云域名解析控制台
如何搭建Phabricator开发管理平台
第三步:添加 A记录 ( 建议以关联主机方式解析 )
如何搭建Phabricator开发管理平台
创建成功返回控制面板

第二步: 配置网页登录鉴权方式
进入auth应用
如何搭建Phabricator开发管理平台
配置登录选项
配置成功

第三步: 添加公钥 (用于代码仓库)
进入设置面板
如何搭建Phabricator开发管理平台
上传成功

第四步: 更新代码仓库所有者

1. #进入容器
2. docker exec -it pha /bin/bash
3.
4. #更改代码仓库所有者
5. chown git:wwwgrp-phabricator /repos

第五步: 配置 feed.http-hooks ( 自动部署 )
进入容器,使用 ./bin/config 命令配置 Feed hook

1. sudo docker exec -it pha /bin/bash
2. cd /srv/phabricator/phabricator
3. ./bin/config set '''feed.http-hooks''' '''[ "http://10.141.133.180:8090/1/feed/receive">

访问 https://dev.appcook.cn/config/edit/feed.http-hooks/ 检查配置
如何搭建Phabricator开发管理平台

自动部署脚本 feed.php

1<?php
2function get({
3$args func_get_args();
4$return "\n";
5foreach ($args as $arg ) {
6.
7if is_string($arg) ) {
8$return .= $arg;
9. } else {
10$return .= json_encode($arg,
11. JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES );
12. }
13. }
14.
15return $return "\n";
16. }
17.
18function pull( $repo$version$user$commit {
19.
20file_put_contents("/data/web/auto.pull.log"get([
21'repo'=>$repo,
22'version'=>$version,
23'commit'=>$commit,
24'user'=>$user
25. ]), FILE_APPEND);
26. }
27.
28.
29.
30// = "trheyi committed R2:69733891ae4f: Feed.Hook {{pull}} (authored by trheyi).";
31$story $_POST['storyText'];
32if preg_match("/([0-9a-zA-Z]+) committed (R[0-9]+):([0-9a-zA-Z]+):(.+)(\{\{pull\}\})/"$story$match ) ){
33.
34$user $match[1];
35$repo $match[2];
36$version $match[3];
37$commit $match[4];
38.
39pull$repo$version$user$commit );
40. }
41.
42.
43.
44$string get([$_REQUEST$_POST$_GET]);
45file_put_contents("/data/web/phabricator.feed.log"$string, FILE_APPEND);
46echo "COMPLETE";

以上就是如何搭建Phabricator开发管理平台,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注亿速云行业资讯频道。

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

原文链接:https://my.oschina.net/u/2987407/blog/849003

AI

开发者交流群×