您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關如何搭建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
登錄云主機 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
將域名 dev.appcook.cn 解析到 123.207.229.22
第一步: 登錄騰訊云域名解析控制臺
第三步:添加 A記錄 ( 建議以關聯主機方式解析 )
創建成功返回控制面板
第二步: 配置網頁登錄鑒權方式
進入auth應用
配置登錄選項
配置成功
第三步: 添加公鑰 (用于代碼倉庫)
進入設置面板
上傳成功
第四步: 更新代碼倉庫所有者
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/ 檢查配置
自動部署腳本 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開發管理平臺,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。