PHP on 華為云DevCloud

      網友投稿 800 2025-03-31

      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 on 華為云DevCloud

      后端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小時內刪除侵權內容。

      上一篇:excel表格if公式的使用方法
      下一篇:excel按月統計數據的公式用法步驟圖
      相關文章
      亚洲精品国产成人片| 成a人片亚洲日本久久| 亚洲综合另类小说色区| 亚洲国产欧美日韩精品一区二区三区| 亚洲明星合成图综合区在线| 亚洲AV中文无码字幕色三| 亚洲色欲色欲www在线丝| 亚洲人妻av伦理| 亚洲色一色噜一噜噜噜| 久久久久国产成人精品亚洲午夜| 久久精品亚洲乱码伦伦中文| 亚洲色婷婷六月亚洲婷婷6月| 色久悠悠婷婷综合在线亚洲| 亚洲中文字幕无码日韩| 亚洲综合精品成人| 亚洲午夜无码久久久久小说| 国产亚洲一卡2卡3卡4卡新区| 亚洲av日韩av不卡在线观看| 亚洲精品高清国产一久久| 亚洲综合精品香蕉久久网97| 亚洲最大黄色网址| 亚洲国产成a人v在线观看| 亚洲日韩国产AV无码无码精品| 亚洲AV无码男人的天堂| 亚洲国产成人乱码精品女人久久久不卡 | 亚洲五月午夜免费在线视频| 久久激情亚洲精品无码?V| 国产亚洲成av人片在线观看| 亚洲视频在线观看免费| 亚洲最大黄色网站| 亚洲欧洲免费无码| 亚洲国产成人久久精品99| 亚洲日韩中文字幕日韩在线| 久久久青草青青亚洲国产免观| 久久国产精品亚洲综合| 亚洲精品在线视频观看| 99亚偷拍自图区亚洲| 国产成人综合亚洲绿色| 亚洲毛片αv无线播放一区| 亚洲日本中文字幕| 亚洲精品美女网站|