Jenkins搭建Egret H5開發的自動化構建(持續集成)

一、H5遊戲開發

進行H5遊戲開發,不僅僅是開發這邊事情,還會涉及到美術、策劃、以及測試。所以必須爲他們也搭建一些運行程序,以便可以及時地瞭解和測試到最新的開發進度。同時遊戲本身也會分成諸多版本,例如測試版、穩定版、數值版、外服等等。這一列的遊戲運行環境,總不能手工去進行遊戲開發內容的同步,必須做到自動化,才能提高開發效率。因爲必須搭建一個自動化構建服務器來滿足這一些的需求。

二、自動化構建(持續集成)介紹

百度的定義:

持續集成是一種軟件開發實踐,即團隊開發成員經常集成他們的工作,通常每個成員每天至少集成一次,也就意味着每天可能會發生多次集成。每次集成都通過自動化的構建(包括編譯,發佈,自動化測試)來驗證,從而儘快發現集成錯誤。許多團隊發現這個過程可以大大減少集成的問題,讓團隊能夠更快的開發內聚的軟件。

三、Jenkins介紹和安裝

jenkins是一個開源項目,提供了一種易於使用的持續集成系統,使開發者從繁雜的集成中解脫出來,專注於更爲重要的業務邏輯實現上。同時 Jenkins 能實施監控集成中存在的錯誤,提供詳細的日誌文件和提醒功能,還能用圖表的形式形象地展示項目構建的趨勢和穩定性。

爲了確保Jenkins由管理員安全設置,密碼已經寫入日誌(不知道在哪裏找到?)和服務器上的這個文件:
這裏寫圖片描述
在瀏覽器裏輸入

C:\Program Files (x86)\Jenkins\secrets\initialAdminPassword

就會得到一個密碼

d41505929a244d428cef21942432ea51

輸入進去,就會看到
這裏寫圖片描述
插件擴展了Jenkins的附加功能,以支持許多不同的需求。
一個是安裝社區最有用的插件,一個是選擇安裝插件,自己根據需要來選擇了,反正後面也是可以自己再安裝插件的。比我我安裝區最有用的插件,如下圖
這裏寫圖片描述
如果熟悉的最好是自己手動安裝,選擇自己項目需要的,比如svn和git,hg的選擇,ant或者maven選擇等等
這裏寫圖片描述

四、安裝Jenkins插件

因爲項目代碼使用了Mercurial作爲代碼管理,所以必須安裝相應的插件。
系統管理,然後選擇插件管理

添加、刪除、禁用或啓用Jenkins功能擴展插件

選擇Mercurial plugin

Allows Jenkins to check out projects from the Mercurial SCM.

五、創建Egret H5遊戲的自動化構建任務

開始部署我們的Egret項目的自動化構建了。
這裏寫圖片描述
這裏寫圖片描述
源碼管理:選擇你自己項目的源碼管理,有3個選項,svn、git和Mercurial
這裏我採用了Mercurial
這裏寫圖片描述

Credentials 是填你實際的hg賬戶密碼

構建觸發器: 選擇 Poll SCM

參數:H/30 * * * *

每半小時檢測一下,如果hg有更新,則會進行自動構建
具體怎麼配置自己想要的時間,可以查Poll SCM的詳細設置。
創建兩個cmd指令
添加構建步驟:
Execute Windows batch command
這裏是調用windows的cmd指令,所以只要cmd可以輸入的指令這裏都可以填入,可以填入多行,也可以執行bat腳本

build.bat
egret clean  //重置項目中的引擎代碼

再一個創建指令
Execute Windows batch command

egret build   //構建項目

這裏根據自己項目需要來創建腳本bat或者直接輸入cmd指令。

點擊構建

六、解決找不到egret命令的錯誤

有些系統可能會報下面的錯

C:\Program Files (x86)\Jenkins\workspace\pal_dev>egret clean 'egret' 不是內部或外部命令,也不是可運行的程序 或批處理文件。
C:\Program Files (x86)\Jenkins\workspace\pal_dev>exit 9009 Build step 'Execute Windows batch command' marked build as failure Finished: FAILURE

自己在cmd輸入egret卻可以。
如果在path配置egret指令還是不行,那麼就直接加全稱好了。

where egret

可以找到egret指令的位置,如下:

C:\Users\sodaChen\AppData\Roaming\npm\egret.cmd

最終是這樣:

C:\Users\sodaChen\AppData\Roaming\npm\egret.cmd build

七、最終看下輸出結果:

Started by user client
Building in workspace C:\Program Files (x86)\Jenkins\workspace\pal_dev
[sword_dev] $ hg --config auth.jenkins.prefix=* --config ******** --config ******** --config "auth.jenkins.schemes=http https" showconfig paths.default
[sword_dev] $ hg --config auth.jenkins.prefix=* --config ******** --config ******** --config "auth.jenkins.schemes=http https" pull --rev default
pulling from http://192.168.0.10:7582/

還可以看到執行其他執行的信息:

C:\Program Files (x86)\Jenkins\workspace\pal_dev>build.bat

C:\Program Files (x86)\Jenkins\workspace\pal_dev>cd src/core  

C:\Program Files (x86)\Jenkins\workspace\pal_dev\src\core>hg pull --verbose http://192.168.0.10:6008/ 

最後是白鷺的編譯信息

C:\Program Files (x86)\Jenkins\workspace\pal_dev>egret build 
您正在使用的引擎版本爲 5.0.2
正在編譯項目...
項目共計編譯耗時:21.66秒
Finished: SUCCESS
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章