手把手教你實(shí)戰(zhàn)開(kāi)發(fā)黑白棋實(shí)時(shí)對(duì)戰(zhàn)游戲軟件開(kāi)發(fā)(黑白棋對(duì)戰(zhàn)平臺(tái))
摘要:本次實(shí)踐可以體驗(yàn)到全程在云上創(chuàng)建彈性云服務(wù)器ECS,配置云服務(wù)器環(huán)境,在DevCloud平臺(tái)上一站式進(jìn)行項(xiàng)目管理、代碼托管、代碼檢查、流水線、編譯、構(gòu)建、部署、測(cè)試、發(fā)布的流程。
本文分享自華為云社區(qū)《基于DevCloud進(jìn)行黑白棋實(shí)時(shí)對(duì)戰(zhàn)游戲開(kāi)發(fā)實(shí)踐【華為云至簡(jiǎn)致遠(yuǎn)】-云社區(qū)-華為云》,作者:gentle_zhou 。
本文基于DevCloud進(jìn)行黑白棋實(shí)時(shí)對(duì)戰(zhàn)游戲開(kāi)發(fā),沙箱實(shí)驗(yàn)鏈接:https://lab.huaweicloud.com/testdetail_411?ticket=ST-268164-dDRCJMPvZkgrnaXgZyUvLCn7-sso
本次實(shí)驗(yàn)實(shí)踐的目標(biāo)與基本要求:
- 學(xué)會(huì)使用軟件開(kāi)發(fā)服務(wù)DevCloud實(shí)現(xiàn)代碼倉(cāng)庫(kù)管理
- 學(xué)會(huì)使用軟件開(kāi)發(fā)服務(wù)DevCloud實(shí)現(xiàn)編譯、構(gòu)建、部署
本文會(huì)分為:
1.創(chuàng)建彈性云服務(wù)器ECS
2.云服務(wù)器環(huán)境配置
3.創(chuàng)建項(xiàng)目及構(gòu)建部署
1.創(chuàng)建彈性云服務(wù)器ECS
在沙箱實(shí)驗(yàn)桌面,點(diǎn)擊chrome瀏覽器,首次會(huì)自動(dòng)登錄并進(jìn)入華為云控制臺(tái)頁(yè)面。
1.1 創(chuàng)建安全組、VPC
在華為云控制臺(tái)頁(yè)面左側(cè),點(diǎn)擊“服務(wù)列表”->“網(wǎng)絡(luò)”->“虛擬私有云VPC”進(jìn)入網(wǎng)絡(luò)控制臺(tái):
在網(wǎng)絡(luò)控制臺(tái)左側(cè)菜單欄中點(diǎn)擊“訪問(wèn)控制”->“安全組”->“創(chuàng)建安全組”,填寫安全組名稱與模板信息:
創(chuàng)建完成如下圖展示:
點(diǎn)擊新建的自定義安全組名稱,進(jìn)入該安全組的設(shè)置頁(yè)面,點(diǎn)擊“入方向規(guī)則”,點(diǎn)擊下面的“添加規(guī)則”,添加一條規(guī)則:
設(shè)置安全組規(guī)則完成,返回安全組列表,在網(wǎng)絡(luò)控制臺(tái)左側(cè)菜單欄中點(diǎn)擊“虛擬私有云”-“我的VPC”,點(diǎn)擊“創(chuàng)建虛擬私有云”進(jìn)入創(chuàng)建界面(具體參數(shù)如當(dāng)前區(qū)域、網(wǎng)段等,實(shí)驗(yàn)里都有提供具體信息):
創(chuàng)建完之后的頁(yè)面:
1.2 創(chuàng)建彈性云服務(wù)器ECS
在云桌面瀏覽器頁(yè)面中的左側(cè)菜單欄,點(diǎn)擊“服務(wù)列表”->“計(jì)算”->“彈性云服務(wù)器ECS”進(jìn)入網(wǎng)云服務(wù)器控制臺(tái):
點(diǎn)擊“購(gòu)買彈性云服務(wù)器”并設(shè)置云服務(wù)器參數(shù)(計(jì)費(fèi)模式、CPU架構(gòu)、規(guī)格、鏡像、系統(tǒng)盤、網(wǎng)絡(luò)配置、用戶名密碼等高級(jí)配置):
勾選同意《華為鏡像免責(zé)聲明》,點(diǎn)擊“立即購(gòu)買”,就開(kāi)始創(chuàng)建ECS了:
新建的ECS顯示正在運(yùn)行中了:
2.云服務(wù)器環(huán)境配置
2.1.安裝IIS服務(wù)
找到1.2步驟創(chuàng)建的彈性云服務(wù)器ECS“ecs-deploy”,單擊右側(cè)的“遠(yuǎn)程登錄”,在新彈出的登錄頁(yè)面,點(diǎn)擊“立即登錄”:
等待開(kāi)機(jī)后,單擊頁(yè)面上方“Ctrl Alt Del”進(jìn)行解鎖:
輸入創(chuàng)建彈性云服務(wù)器ECS時(shí)設(shè)置的密碼(默認(rèn)密碼是7fbAt97#vg)進(jìn)行登錄;進(jìn)入桌面之后,單擊開(kāi)始欄,單擊“服務(wù)器管理器”(這里有個(gè)坑,需要我們點(diǎn)擊頁(yè)面上方的進(jìn)入全屏模式,否則頁(yè)面上顯示不出開(kāi)始欄)
在“服務(wù)器管理器”,單擊“添加角色和功能”:
在左側(cè)導(dǎo)航欄,選擇“安裝類型”,單擊“基于角色或基于功能的安裝”,并單擊“下一步”;單擊“從服務(wù)器池中選擇服務(wù)器”,并在“服務(wù)器池”中選中本服務(wù)器的計(jì)算機(jī)名,單擊“下一步”;在角色列表內(nèi)找到“Web服務(wù)器(IIS)”并勾選,在彈窗“添加角色和功能向?qū)А敝?,單擊“添加功能”,單擊“下一步”;勾選“.Net Framework 3.5功能”,單擊“下一步”;單擊“下一步”到最后一頁(yè),單擊“安裝”:
等待IIS服務(wù)在彈性云服務(wù)器ECS上安裝成功。
2.2 安裝node.js
在云服務(wù)器中打開(kāi)瀏覽器,在地址欄手動(dòng)輸入Node.js下載網(wǎng)址:http://nodejs.cn/download/,進(jìn)入Node.js下載網(wǎng)站,單擊Windows安裝包“64位”,單擊“運(yùn)行”,運(yùn)行Windows安裝包:
進(jìn)入Node.js安裝向?qū)В惭bnodejs,查看安裝成功,單擊“Finish”:
2.3 安裝Express、Socket.io、Forever
簡(jiǎn)單介紹下
Express是目前最流行的基于Node.js的Web開(kāi)發(fā)框架。
http://Socket.io是一個(gè)面向?qū)崟r(shí)web應(yīng)用的JavaScript庫(kù)。
Forever是一個(gè)簡(jiǎn)單的命令式的node.js的守護(hù)進(jìn)程。
言歸正傳,我們繼續(xù)安裝步驟。
單擊開(kāi)始欄,單擊“Windows PowerShell”:
在PowerShell中依次運(yùn)行如下三條命令(等待命令執(zhí)行成功進(jìn)行下一條執(zhí)行):
npm install -g expressnpm install -g socket.ionpm install forever -g
執(zhí)行成功如下圖所示:
2.4.配置主機(jī)的授信
在云服務(wù)器中打開(kāi)瀏覽器,在地址欄輸入以下網(wǎng)址:https://sandbox-experiment-resource-north-4.obs.cn-north-4.myhuaweicloud.com/reversi-play-online/windows2016.zip點(diǎn)擊“保存”:
進(jìn)入windows2016.zip所在目錄,鼠標(biāo)選中文件,點(diǎn)擊右鍵選擇“全部解壓縮…”解壓“windows2016.zip”,得到“windows2016.ps1”腳本,如下圖所示:
在PowerShel中輸入cd .Downloadswindows2016,切換到“windows2016.ps1”腳本所在目錄,命令行繼續(xù)輸入set-executionpolicy unrestricted,回車執(zhí)行后,再輸入“Y”執(zhí)行:
命令行繼續(xù)輸入.windows2016.ps1,回車執(zhí)行后再輸入“R”執(zhí)行;命令行輸入winrm e winrm/config/listener,若出現(xiàn)HTTPS表示監(jiān)聽(tīng)成功,即windows2016部署環(huán)境自動(dòng)化配置成功:
2.5 關(guān)閉彈性云服務(wù)器ECS防火墻
點(diǎn)擊開(kāi)始按鈕,直接輸入搜索“防火墻”打開(kāi)防火墻設(shè)置:
關(guān)閉防火墻,如下圖所示:
2.6.開(kāi)放服務(wù)器端口
打開(kāi)windows開(kāi)始標(biāo)志,點(diǎn)擊“Windos管理工具”, 雙擊“高級(jí)安全Windows防火墻”如下圖所示:
打開(kāi)后,點(diǎn)擊“入站規(guī)則”->“新建規(guī)則”如下圖所示:
選擇“端口”點(diǎn)擊“下一步”,輸入端口“12001”點(diǎn)擊“下一步”,點(diǎn)擊“下一步”->“下一步”,參數(shù)默認(rèn);輸入名稱“heibaiqiWeb”點(diǎn)擊“完成”如下圖所示:
3.創(chuàng)建項(xiàng)目及構(gòu)建部署
3.1.創(chuàng)建項(xiàng)目
簡(jiǎn)單介紹
什么是DevCloud?華為云軟件開(kāi)發(fā)服務(wù)(DevCloud)是一站式云端DevOps平臺(tái),面向開(kāi)發(fā)者提供的云服務(wù),即開(kāi)即用,隨時(shí)隨地在云端進(jìn)行項(xiàng)目管理、代碼托管、代碼檢查、流水線、編譯、構(gòu)建、部署、測(cè)試、發(fā)布等,讓開(kāi)發(fā)者快速而又輕松地開(kāi)啟云端開(kāi)發(fā)之旅。
實(shí)驗(yàn)桌面中的瀏覽器切換回華為云頁(yè)面,鼠標(biāo)移動(dòng)到云桌面瀏覽器頁(yè)面中左側(cè)菜單欄,點(diǎn)擊“服務(wù)列表”->“軟件開(kāi)發(fā)平臺(tái)DevCloud”;進(jìn)入平臺(tái)頁(yè)面后,選擇“項(xiàng)目管理”進(jìn)入項(xiàng)目列表頁(yè)面,點(diǎn)擊“立即使用”,進(jìn)入項(xiàng)目創(chuàng)建頁(yè)面,如下圖所示:
點(diǎn)擊“新建項(xiàng)目”,選擇“看板”,在新建項(xiàng)目彈窗中,設(shè)置項(xiàng)目名稱為“Cocos_ReversiOnline”,輸入項(xiàng)目信息,點(diǎn)擊“確定”,如下圖所示:
創(chuàng)建完成即跳轉(zhuǎn)如下圖頁(yè)面:
3.2 下載源碼及創(chuàng)建代碼倉(cāng)庫(kù)
切換到實(shí)驗(yàn)桌面,打開(kāi)“Xfce 終端”,復(fù)制以下代碼到終端回車執(zhí)行,下載客戶端和服務(wù)端的源碼文件:
wget https://sandbox-experiment-resource-north-4.obs.cn-north-4.myhuaweicloud.com/reversi-play-online/ReversiOnline_Client.zip
wget https://sandbox-experiment-resource-north-4.obs.cn-north-4.myhuaweicloud.com/reversi-play-online/ReversiOnline_Server.zip
下載完之后,輸入命令ls查看下載文件:
執(zhí)行以下代碼配置用戶名和郵箱:
Git config --global user.name "您的用戶名"git config --global user.email "您的郵箱"
執(zhí)行以下代碼SSH-keygen -t rsa -C "您的郵箱",生成ssh密鑰(一直回車至下圖出現(xiàn)),執(zhí)行成功如下圖所示:
執(zhí)行以下代碼cat .ssh/id_rsa.pub,查看并【復(fù)制】密鑰:
切換至瀏覽器,在3.1步驟創(chuàng)建好的項(xiàng)目中,單擊上方菜單“代碼”->“代碼托管”進(jìn)入代碼托管界面,點(diǎn)擊“設(shè)置我的SSH密鑰”,如下圖所示:
進(jìn)入密鑰設(shè)置頁(yè)面,點(diǎn)擊“添加SSH密鑰”填寫復(fù)制的密鑰。
① 標(biāo)題:輸入秘鑰后自動(dòng)生成
② 密鑰:粘貼已復(fù)制密鑰
返回上一級(jí)“代碼托管”管理頁(yè)面,點(diǎn)擊“普通新建”,新建倉(cāng)庫(kù):
① 代碼倉(cāng)庫(kù)名稱:ReversiOnline_Client
② 歸屬項(xiàng)目:3.1步驟創(chuàng)建的項(xiàng)目名稱,如:Cocos_ReversiOnline
參照上述步驟,創(chuàng)建倉(cāng)庫(kù)名稱為【“ReversiOnline_Server”】代碼倉(cāng)庫(kù)。
3.3.推送代碼到代碼倉(cāng)庫(kù)
點(diǎn)擊倉(cāng)庫(kù)名稱【“ReversiOnline_Client”】,進(jìn)入代碼倉(cāng),點(diǎn)擊“克隆/下載” ,查看SSH克隆地址:
切換到“Xfec 終端”,執(zhí)行以下代碼git clone gitaddr下載?!緩?fù)制】SSH克隆地址,將下方代碼中的“gitaddr”替換為復(fù)制的克隆地址,執(zhí)行時(shí)選擇接收密鑰輸入“yes”:
【參照上述步驟】,點(diǎn)擊名為【“ReversiOnline_Server”】代碼倉(cāng),克隆下載代碼倉(cāng)庫(kù)。第二次執(zhí)行不需要接收密鑰:
執(zhí)行以下代碼設(shè)置Git:git config –global user.email "dev@cloud.com" && git config –global user.name "devcloud"
執(zhí)行以下命令,解壓源碼“ReversiOnline_Client. Zip”到 “ReversiOnline_Client” 倉(cāng)庫(kù)。解壓過(guò)程中可能遇到同名文件覆蓋提示,根據(jù)提示輸入“A”,回車全部覆蓋即可:
執(zhí)行以下命令unzip ReversiOnline_Server.zip -d ReversiOnline_Server/,解壓源碼“ReversiOnline_Server. zip”到 “ReversiOnline_Server” 倉(cāng)庫(kù):
執(zhí)行以下命令cd ReversiOnline_Client/,切換到ReversiOnline_Client代碼倉(cāng)庫(kù);執(zhí)行以下命令git add .添加源碼到倉(cāng)庫(kù);執(zhí)行以下命令git commit -m "init"提交源碼;執(zhí)行以下命令git push推送源碼到遠(yuǎn)程倉(cāng)庫(kù)。執(zhí)行成功如下圖所示:
執(zhí)行以下命令cd ../ReversiOnline_Server/切換到“ReversiOnline_Server”倉(cāng)庫(kù);執(zhí)行以下命令git add .添加源碼到倉(cāng)庫(kù);執(zhí)行以下命令git commit -m "init"添加源碼到倉(cāng)庫(kù);執(zhí)行以下命令git push推送源碼到遠(yuǎn)程倉(cāng)庫(kù)。執(zhí)行成功如下圖所示:
3.4 修改源碼配置文件
源碼上傳完成,切換至瀏覽器,點(diǎn)擊 “ReversiOnline_Client”倉(cāng)庫(kù),進(jìn)入倉(cāng)庫(kù)對(duì)“ServerIP”配置進(jìn)行修改。
3.5.構(gòu)建應(yīng)用
完成服務(wù)器端和客戶端源碼的編譯構(gòu)建,生成可用于應(yīng)用部署的構(gòu)建包。
客戶端:
服務(wù)端:
3.6.執(zhí)行構(gòu)建任務(wù)
單擊“構(gòu)建&發(fā)布”- > “編譯構(gòu)建”重新進(jìn)入構(gòu)建編譯列表。依次單擊執(zhí)行“開(kāi)始構(gòu)建”,進(jìn)行代碼包的編譯構(gòu)建,等待編譯構(gòu)建成功:
之后點(diǎn)擊“發(fā)布”,查看到兩個(gè)構(gòu)建包,說(shuō)明構(gòu)建包發(fā)布成功。
3.7 獲取并上傳playbook
playbook可以幫助我們把項(xiàng)目部署到windows主機(jī)上,通常的playbook都是啟動(dòng)IIS服務(wù),用來(lái)運(yùn)行web網(wǎng)站。
切換至“Xfce 終端”,執(zhí)行以下命令cd /home/user/Desktop && wget https://sandbox-experiment-resource-north-4.obs.cn-north-4.myhuaweicloud.com/reversi-play-online/nodejs_playbook.zip,下載nodejs_playbook.
執(zhí)行以下命令wget https://sandbox-experiment-resource-north-4.obs.cn-north-4.myhuaweicloud.com/reversi-play-online/iis_playbook.zip下載iis_playbook.
切換至瀏覽器,在發(fā)布頁(yè)面,點(diǎn)擊“上傳”,選中剛剛下載的文件,點(diǎn)擊“open”進(jìn)行上傳。
上傳完成后最終發(fā)布頁(yè)面如下圖所示:
3.8.配置主機(jī)組
點(diǎn)擊“更多”->“設(shè)置”->“通用設(shè)置”進(jìn)入頁(yè)面后,點(diǎn)擊左側(cè)欄“主機(jī)組管理”。進(jìn)入主機(jī)組管理頁(yè)面后,點(diǎn)擊“新建主機(jī)組”,點(diǎn)擊“添加主機(jī)”:
3.9.服務(wù)器端部署
點(diǎn)擊“構(gòu)建&發(fā)布”->”部署”進(jìn)入部署頁(yè)面,單擊“新建任務(wù)”。
部署過(guò)程可能需要較長(zhǎng)時(shí)間,點(diǎn)擊“部署”回到任務(wù)列表,可查看到任務(wù)的部署狀態(tài),如下圖所示:
3.10.客戶端部署
仿照3.9步驟,新建一個(gè)客戶端的部署任務(wù)“ReversiOnline_Web_Deploy”,并依次添加四個(gè)部署步驟。配置“選擇部署來(lái)源”。
3.11.結(jié)果驗(yàn)證
在實(shí)驗(yàn)桌面的瀏覽器里新打開(kāi)一個(gè)瀏覽器窗口,在地址欄輸入“EIP:12001”,如:49.4.26.181:12001,訪問(wèn)成功如下圖所示。注 – EIP替換為1.2步驟彈性云服務(wù)器ECS的彈性IP:
實(shí)踐總結(jié)
本次實(shí)踐讓我體驗(yàn)到了全程在云上創(chuàng)建彈性云服務(wù)器ECS,配置云服務(wù)器環(huán)境,在DevCloud平臺(tái)上一站式進(jìn)行項(xiàng)目管理、代碼托管、代碼檢查、流水線、編譯、構(gòu)建、部署、測(cè)試、發(fā)布的流程?;咀龅搅嗣嫦蜷_(kāi)發(fā)者提供云服務(wù),即開(kāi)即用,隨時(shí)隨地。當(dāng)然還有如下幾點(diǎn)是本次實(shí)踐個(gè)人覺(jué)得還值得改進(jìn)的:
1.彈性云服務(wù)器ECS時(shí)設(shè)置的密碼(默認(rèn)密碼是7fbAt97#vg)盡量設(shè)置簡(jiǎn)單點(diǎn),默認(rèn)密碼還是有點(diǎn)復(fù)雜;在登錄云服務(wù)器環(huán)境的時(shí)候密碼不能復(fù)制,需要自己手動(dòng)輸入
2.云服務(wù)器環(huán)境右邊的運(yùn)行概覽這一欄不能隱藏掉,說(shuō)實(shí)在有點(diǎn)影響使用體驗(yàn),很占位置:
3.進(jìn)入云服務(wù)器環(huán)境之后,估計(jì)因?yàn)轫?yè)面大小緣故,是看不到開(kāi)始菜單欄的;需要我們點(diǎn)擊進(jìn)入全屏模式之后,才可以看到左下角的開(kāi)始菜單欄(這里其實(shí)如果有個(gè)提示,也會(huì)讓用戶覺(jué)得更友好點(diǎn))
4.云服務(wù)器環(huán)境還是不流暢的,鼠標(biāo)能明顯感覺(jué)到遲滯;在“服務(wù)器管理器”單擊“添加角色和功能”這個(gè)步驟就會(huì)導(dǎo)致系統(tǒng)卡住:
5.整個(gè)實(shí)驗(yàn)給的時(shí)間還是偏短了點(diǎn),要是可以再多個(gè)半小時(shí)到1小時(shí),就可以體驗(yàn)的更舒服了
點(diǎn)擊下方,第一時(shí)間了解華為云新鮮技術(shù)~