PHP on 華為云DevCloud
1?概述

1.1?文章目的
本文主要想為研發PHP項目的企業或個人提供上云指導,通過本文中的示例項目 “workerman-todpole”,為開發者提供包括項目管理,代碼托管,代碼檢查,編譯構建,測試管理的操作指導,覆蓋軟件開發全生命周期。
1.2?項目詳情
1.?項目名稱:workerman-todpole社區系統
2.?項目簡介:workerman-todpole采用PHP(workerman框架)+HTML5技術開發,是一款以workerman作為應用服務器,前端采用HTML5+WebSocket開發的小蝌蚪即時交互游戲。?游戲交互很簡單,點擊屏幕小蝌蚪可以自由游動,其它玩家可以看到周圍玩家的游動狀態,并且可以即時聊天
3.?開發語言:PHP
4.?項目類型:蝌蚪游泳交互程序?使用PHP(workerman框架)+HTML5開發
5.?開發環境:PHP
6.?部署環境:Linux
7.?部署方式:shell部署
8.?項目架構
前端采用HTML5開發
以PHP的workerman框架開發后臺游戲服務器
后端PHP多進程支持
采用WebSocket協議
PHP實時推送技術
獨立運行,不依賴Mysql、apache、nginx等軟件。
1.3?前提條件
1.?注冊華為云賬號:華為云官網注冊華為云賬號,此賬號適用于所有華為云產品。
2.?彈性云服務器:部署將使用帶有公網IP的ECS。
2?項目管理
2.1?創建項目
新建項目的開發流程包含兩種類型:scrum流程、看板流程。Scrum流程是標準的敏捷開發流程,工作項層級為傳統的scrum劃分方法Epic->Feature->Story->Task&Bug,本項目為把工作劃分的層級更清晰,選擇了scrum流程。
2.2?創建迭代
本項目研發周期短,只有一次release,劃分成三個迭代,迭代周期為一周。
2.3?梳理產品需求清單
項目規劃是以思維導圖的形式將工作項的層級結構展示出來,更直觀的看到父子關系,在項目規劃中新建工作項后,會自動生成到后面的Epic,Feature,Backlog和迭代頁面,在迭代開始前,項目經理將從客戶獲取的所有需求信息,逐一落實到項目規劃中,分解成story,并為工作項設置優先級。
2.4?輸出迭代清單
在迭代開始前,在Backlog頁面過濾出優先級“高”且重要程度為“關鍵”的工作項,納入迭代1,與開發人員進行需求澄清。其余迭代,均可根據組內實際情況,按照優先級從高到低,重要程度減弱的順序進行開發。
3?代碼獲取
3.1?新建代碼倉庫
1.?進入創建好的項目中,選擇代碼托管功能,點擊右側新建倉庫按鈕。
2.?進入新建倉庫界面后,選擇模板新建,左側篩選條件中應用類型為Web Server,變成語言為PHP,選擇完篩選條件后,選擇出現的workerman-todpole,完成模板選擇。
3.?選擇完模板后填寫倉庫信息,點擊確定,完成倉庫創建。
4?云端持續部署流水線
4.1?編譯構建
本PHP項目直接在linux主機環境下直接開啟服務即可運行,本身無需進行編譯構建打包,但是在DevCloud中云端部署需要可識別的軟件包,所以在DevCloud中需要對PHP的程序進行簡單的打包。
4.1.1?新建編譯構建任務
1.?進入創建好的項目中,在構建&發布模塊下選擇編譯,點擊右側新建按鈕
2.?輸入任務名稱,選擇對應代碼倉庫和分支
3.?選擇公共模板中的Shell模板創建任務。
4.?進入任務配置界面后點擊左側的加號,添加步驟
5.?在彈出的操作步驟選擇頁面中選擇添加“上傳軟件包到軟件發布庫”步驟
6.?點擊參數設置選項,為本次任務添加兩個配置參數,分別為pkgVersion和codeBranch作為版本號和代碼倉庫分支的參數,并在代碼倉庫分支選項中選定此參數。
7.?添加完步驟后點擊左側執行shell命令步驟,進行命令編輯。本任務添加的shell命令為“tar zcvf workerman_todpole.tar.gz *”,目的是將代碼打包為tar.gz格式的軟件包。
8.?接著選擇左側上傳軟件包到發布庫步驟,編輯對應信息。構建包路徑對應上一步shell命令中的打包路徑,發布版本號為第一步添加的版本號參數,格式為${pkgVersion},最后包名為上傳軟件發布庫后的包名。
9.?完成構建任務后,點擊保存按鈕。
10.?進入創建好的構建任務,點擊開始構建按鈕,在彈出的參數配置窗口輸入要配置的參數值,點擊確定執行構建任務。
4.2?部署
4.2.1?添加主機
將服務器主機授信到DevCloud里,用于部署網站。
點擊“設置-通用設置-主機組管理”,將服務器以主機組的形式授信到項目當中。
新建主機組:
在主機組中添加主機:
4.2.2?環境準備
由于本項目需要特定的環境,因此需要在部署之前先登錄對應的ECS云主機進行環境搭建。搭建環境的腳本內容如下:
php-cli安裝方法:
composer安裝方法:
4.2.3?新建模板部署任務
1.?新建模板部署
2.?編輯基本信息后,不使用模板直接創建
3.?點擊“確定”后,添加部署步驟:
選擇部署來源、解壓文件、刪除文件、執行shell腳本
選擇部署來源:(將軟件包傳到云主機上)
解壓文件:(將傳輸完畢的軟件包解壓到指定路徑)
刪除文件:(將傳輸到主機的軟件包刪除)
執行shell命令:(啟動腳本start.sh位于代碼根目錄,現已被解壓至解壓路徑)
將啟動腳本start.sh復制到指定路徑,并執行。啟動腳本中的路徑需要與部署主機中的實際路徑相一致。
shell命令內容:
4.?點擊確認按鈕,保存任務配置。
4.2.4 執行部署任務
1.?進入配置好的部署任務中,點擊“執行”按鈕開始執行部署任務。
2.?當任務狀態顯示完成后,表明自動化部署執行成功,可在地址欄輸入對應的訪問地址,進行訪問驗證。本項目驗證地址為http://ip:8383
4.3?流水線
當我們完成了編譯構建和部署階段的任務配置后,即可創建包含編輯構建和自動化部署的持續交付流水線了。
4.3.1?新建流水線任務
1.?進入流水線界面,點擊新建流水線按鈕,進入新建流水線頁面。
2.?在新建流水線配置中,首先選擇默認的基本場景,填寫流水線名稱,然后根據實際需要添加或刪除流水線階段步驟。
本項目中的階段分別設定為構建階段和部署階段
3.?在添加具體的流水線任務之前需要先配置流水線參數
點擊添加參數,添加兩個參數,然后對參數信息進行配置
編輯新添加的兩個參數名稱為version和branch,參數默認值可以不用編輯
點擊保存完成參數配置。
4.?在構建和部署階段分別點擊添加任務,然后點擊編輯按鈕對添加的任務進行編輯
5.?在構建的任務編輯界面,選擇之前已經創建好的構建任務,并將該構建任務的參數值設為剛才配置的流水線參數,格式分別為${version}和${branch},以達到用流水線參數為構建任務參數賦值的目的。完成配置后點擊保存按鈕。
6.?部署任務的添加方法同上,在選擇完對應的部署任務后,軟件包一項選擇上一個階段構建任務生成的軟件包,保證流水線中的部署任務是使用最新的包文件。完成配置后點擊保存。
7.?完成所有任務后點擊保存按鈕對流水線任務進行保存。
4.3.2?執行流水線
1.?在配置好的流水線任務重點擊全新執行,在彈出的參數窗口中,輸入配置的參數值,點擊確定,開始執行流水線任務。
2.?完成流水線任務。
5?附錄
【云視界Live】大咖手把手教你玩轉知識點
企業敏捷轉型之初試Scrum
企業架構轉型之初試“微服務”
【最佳實踐】短視頻、快節奏,教你如何端到端踐行DevOps
如何開發一款簡單好用的在線接口文檔管理工具
【On?DevCloud】以語言為維度講解如何將項目遷移上云
Android on 華為云DevCloud
軟件開發平臺 DevCloud 軟件開發云
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。