脚本自动定时打开链接_自动化构建系统
在軟件開發過程中,特別是在一些大型多人合作開發的項目中,如何將各個人開發的不同模塊集合為一個完整的系統,最終輸出一個完整的目標文件,這個過程包括編譯,發布,自動化測試等環節。這一過程的完善程度和流暢程度將會影響整個發布過程,如果整個過程都需要人為干預,那么每次需要構建版本的時候都會是一場災難。
筆者剛進入游戲行業時,曾經在一個初創手游團隊工作過,當時所有版本的發布都是由我負責,在開發前期只有一個版本維護,僅僅是在驗收的時候發布一個PC版,但是到了后期需要維護IOS和Android兩個平臺,其中Android版本在接入渠道后,針對每個渠道都要分別打包,整個過程都需要我手動控制,雖然寫了幾個自動化腳本但是整個流程并不是完全自動化,常常是之前搭建好的構建環境,在經過幾次提交后又會出現若干錯誤,這時候又需要我一個一個解決。項目雖然還是在有條不紊的進行中但是整個發布過程卻是異常痛苦。
后來又參與了一款端游的研發,項目的負責人利用Windows的定時任務和批處理腳本制作了一套自動化構建腳本,每次需要構建版本時只需要運行下批處理腳本,這個過程會鎖定SVN的提交權限,任何人都無法提交任何東西,直到構建完畢,如果在構建過程中出現錯誤腳本會自動將錯誤信息發送到開發人員的IM工具。雖然端游只需要發布到一個平臺,但是整個構建過程是不需要人為干預的完全不影響開發人員當前的工作。在每天的凌晨2點工具會自動構建當前最新的版本,這樣測試組在上班后就可以立即用最新版本的游戲進行測試,并反饋測試結果。
因此一個完善的構建系統對于整個團隊的開發效率是有很大影響的,通俗來講構建系統(build system)是用來從源代碼生成用戶可以使用的目標(targets)的自動化工具,一個靈活的構建系統應該可以支持任意擴展和隨意配置,并且支持流水線作業。目前市面上的幾款自動化構建系統都已經非常完善強大了。
Jenkins
本文主要以Jenkins為例講解如何在Windows環境配置自動化構建系統,Linux環境的配置可自行搜索相關文獻。作為一款持續集成工具Jenkins不僅提供了基本的持續構建功能,還提供了很多強大的額外功能,比如:打包后使用開源軟件FileZilla進行上傳、下載部署;可以編寫單元測試腳本自動執行打包后版本進行匯總性能分析;打包失敗自動發送郵件給相關負責人等等。不僅如此Jenkins提供的插件功能更是涵蓋了持續化集成的方方面面,這些功能基本可以滿足任何項目的持續化集成與交付需求。
用到的軟件或工具
環境搭建
- Python運行環境配置:下載并安裝Python,將安裝后python.exe所在的目錄附加到PATH環境變量中,我的電腦->右鍵屬性->高級系統設置->高級->環境變量,PATH中新增C:Python27(Python所在目錄)。
- Java運行環境配置:按照對應操作系統下載并安裝jre,如果未自動配置Java環境變量,手動配置方法同Python。
- 7z環境配置:下載安裝好7z,環境變量 PATH中新增C:Program Files7-Zip(Python所在目錄)條目。
- Jenkins運行及配置:下載 jenkins.war,進入所在目錄運行java -jar jenkins.war ,然后在瀏覽器中打開http://localhost:8080,復制以上密碼,進行jenkins初次設置。
- 配置環境:把剛剛復制的password粘貼到Administrator password,安裝好必備的plugin,創建一個初始Admin User,Jenkins 環境就配置完成了。
如果遇到“該Jenkins實例似乎已離線”
可以參考以下方式解決:
打開一個新的tab,輸入網址http://localhost:8080/pluginManager/advanced。 將最下面的“Update Site”中Jenjins默認地址http://updates.jenkins.io/update-center.json改為其他國內備用地址:
最后在瀏覽器輸入http://localhost:8080/restart ,再啟動就可以正常下載插件了。
安裝插件創建Job
在Jenkins主頁下可以點擊New Item 創建一個新的Job,Jekins提供了多種模板,選擇第一個Freestyle project 。Item Name建議最好與你的項目相同。Job 配置有General,源碼管理,構建觸發器,構建環境,構建,以及構建后操作幾個部分。
創建Job打開Jenkins主頁左側系統管理,選擇系統設置,在主目錄下方一行點擊高級按鈕,顯示出工作空間根目錄,更改到你的Workspace中:E:You Project Name${ITEM_FULLNAME}
編寫Build腳本
構建腳本可以是Python也可以是Windows的批處理命令或者其他語言編寫的腳本,整個過程主要是通過在Jenkins中配置好的參數,調用腳本最終腳本調用對應的編譯工具進行打包,如果是Unity項目最終會調用ProjectBuild.cs進行對應平臺的打包操作。如果是Unreal項目則會調用Unreal Engine的打包工具進行打包。例如新建一個UnityBuild.bat的Unity構建文件:
UnityBuild.bat 內容如下REM UNITY程序的路徑 SET UNITY_PATH="D:Program Files (x86)Unity2019.2.0f1EditorUnity.exe"REM 游戲程序路徑 SET PROJECT_PATH="E:JenkinsworkspaceAutoBuild"REM 在Unity中構建apk %UNITY_PATH% -projectPath %PROJECT_PATH% -quit -batchmode -executeMethod ProjectBuild.BuildForAndroid %1 -logFile build.logecho "Build生成完畢" PAUSE配置Jenkins job
jenkins job 配置官方有詳細的文檔,在Jenkins主頁選擇創建好的job,左邊進入Configure
Build
配置完成保存,然后左邊選擇 Build with Parameters,可以看到配置中添加的參數列表,點擊開始構建執行打包操作。同時還可以打開Console Output 查看日志,以及打開變更記錄查看此次打包變更內容。打包后可以在配置好的release_path 目錄下看到壓縮后的版本。
參考文獻
- Jenkins+Unity踩坑日記(詳細下載安裝手冊):https://blog.csdn.net/alph258/article/details/86075956
- Jenkins集成unity一鍵打安卓包:https://zhuanlan.zhihu.com/p/87964476
總結
以上是生活随笔為你收集整理的脚本自动定时打开链接_自动化构建系统的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Ajax动态拼接li并绑定事件
- 下一篇: Windows10配置CUDA10.0+