溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何搭建Phabricator開(kāi)發(fā)管理平臺(tái)

發(fā)布時(shí)間:2021-12-10 17:31:27 來(lái)源:億速云 閱讀:164 作者:柒染 欄目:云計(jì)算

本篇文章給大家分享的是有關(guān)如何搭建Phabricator開(kāi)發(fā)管理平臺(tái),小編覺(jué)得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說(shuō),跟著小編一起來(lái)看看吧。

一、搭建Phabricator開(kāi)發(fā)管理平臺(tái)

1.1 上傳 SSL/TLS 證書(shū)

第一步:下載證書(shū)并解壓
如何搭建Phabricator開(kāi)發(fā)管理平臺(tái)
第二步:將證書(shū)和私鑰上傳到開(kāi)發(fā)管理平臺(tái)服務(wù)器

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

第三步:將證書(shū)和私鑰復(fù)制到 /host/crt 文件夾
登錄云主機(jī) ssh ubuntu@123.207.229.22 ,運(yùn)行以下命令

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 創(chuàng)建 Phabricator 容器

登錄云主機(jī) ssh ubuntu@123.207.229.22 ,使用 docker run 命令, 創(chuàng)建一個(gè)名為 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={{數(shù)據(jù)庫(kù)內(nèi)網(wǎng)地址}} \
5. --env MYSQL_USER={{數(shù)據(jù)庫(kù)用戶名(有建庫(kù)權(quán)限)}} \
6. --env MYSQL_PASS={{數(shù)據(jù)庫(kù)密碼}} \
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
第一步: 登錄騰訊云域名解析控制臺(tái)
如何搭建Phabricator開(kāi)發(fā)管理平臺(tái)
第三步:添加 A記錄 ( 建議以關(guān)聯(lián)主機(jī)方式解析 )
如何搭建Phabricator開(kāi)發(fā)管理平臺(tái)
創(chuàng)建成功返回控制面板

第二步: 配置網(wǎng)頁(yè)登錄鑒權(quán)方式
進(jìn)入auth應(yīng)用
如何搭建Phabricator開(kāi)發(fā)管理平臺(tái)
配置登錄選項(xiàng)
配置成功

第三步: 添加公鑰 (用于代碼倉(cāng)庫(kù))
進(jìn)入設(shè)置面板
如何搭建Phabricator開(kāi)發(fā)管理平臺(tái)
上傳成功

第四步: 更新代碼倉(cāng)庫(kù)所有者

1. #進(jìn)入容器
2. docker exec -it pha /bin/bash
3.
4. #更改代碼倉(cāng)庫(kù)所有者
5. chown git:wwwgrp-phabricator /repos

第五步: 配置 feed.http-hooks ( 自動(dòng)部署 )
進(jìn)入容器,使用 ./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">

訪問(wèn) https://dev.appcook.cn/config/edit/feed.http-hooks/ 檢查配置
如何搭建Phabricator開(kāi)發(fā)管理平臺(tái)

自動(dòng)部署腳本 feed.php

1. <?php
2. function get() {
3. $args = func_get_args();
4. $return = "\n";
5. foreach ($args as $arg ) {
6.
7. if ( 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.
15. return $return . "\n";
16. }
17.
18. function pull( $repo, $version, $user, $commit ) {
19.
20. file_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'];
32. if ( 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.
39. pull( $repo, $version, $user, $commit );
40. }
41.
42.
43.
44. $string = get([$_REQUEST, $_POST, $_GET]);
45. file_put_contents("/data/web/phabricator.feed.log", $string, FILE_APPEND);
46. echo "COMPLETE";

以上就是如何搭建Phabricator開(kāi)發(fā)管理平臺(tái),小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見(jiàn)到或用到的。希望你能通過(guò)這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI