日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > windows >内容正文

windows

脚本自动定时打开链接_自动化构建系统

發(fā)布時(shí)間:2025/3/15 windows 14 豆豆
生活随笔 收集整理的這篇文章主要介紹了 脚本自动定时打开链接_自动化构建系统 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

在軟件開(kāi)發(fā)過(guò)程中,特別是在一些大型多人合作開(kāi)發(fā)的項(xiàng)目中,如何將各個(gè)人開(kāi)發(fā)的不同模塊集合為一個(gè)完整的系統(tǒng),最終輸出一個(gè)完整的目標(biāo)文件,這個(gè)過(guò)程包括編譯,發(fā)布,自動(dòng)化測(cè)試等環(huán)節(jié)。這一過(guò)程的完善程度和流暢程度將會(huì)影響整個(gè)發(fā)布過(guò)程,如果整個(gè)過(guò)程都需要人為干預(yù),那么每次需要構(gòu)建版本的時(shí)候都會(huì)是一場(chǎng)災(zāi)難。

筆者剛進(jìn)入游戲行業(yè)時(shí),曾經(jīng)在一個(gè)初創(chuàng)手游團(tuán)隊(duì)工作過(guò),當(dāng)時(shí)所有版本的發(fā)布都是由我負(fù)責(zé),在開(kāi)發(fā)前期只有一個(gè)版本維護(hù),僅僅是在驗(yàn)收的時(shí)候發(fā)布一個(gè)PC版,但是到了后期需要維護(hù)IOS和Android兩個(gè)平臺(tái),其中Android版本在接入渠道后,針對(duì)每個(gè)渠道都要分別打包,整個(gè)過(guò)程都需要我手動(dòng)控制,雖然寫(xiě)了幾個(gè)自動(dòng)化腳本但是整個(gè)流程并不是完全自動(dòng)化,常常是之前搭建好的構(gòu)建環(huán)境,在經(jīng)過(guò)幾次提交后又會(huì)出現(xiàn)若干錯(cuò)誤,這時(shí)候又需要我一個(gè)一個(gè)解決。項(xiàng)目雖然還是在有條不紊的進(jìn)行中但是整個(gè)發(fā)布過(guò)程卻是異常痛苦。

后來(lái)又參與了一款端游的研發(fā),項(xiàng)目的負(fù)責(zé)人利用Windows的定時(shí)任務(wù)和批處理腳本制作了一套自動(dòng)化構(gòu)建腳本,每次需要構(gòu)建版本時(shí)只需要運(yùn)行下批處理腳本,這個(gè)過(guò)程會(huì)鎖定SVN的提交權(quán)限,任何人都無(wú)法提交任何東西,直到構(gòu)建完畢,如果在構(gòu)建過(guò)程中出現(xiàn)錯(cuò)誤腳本會(huì)自動(dòng)將錯(cuò)誤信息發(fā)送到開(kāi)發(fā)人員的IM工具。雖然端游只需要發(fā)布到一個(gè)平臺(tái),但是整個(gè)構(gòu)建過(guò)程是不需要人為干預(yù)的完全不影響開(kāi)發(fā)人員當(dāng)前的工作。在每天的凌晨2點(diǎn)工具會(huì)自動(dòng)構(gòu)建當(dāng)前最新的版本,這樣測(cè)試組在上班后就可以立即用最新版本的游戲進(jìn)行測(cè)試,并反饋測(cè)試結(jié)果。

因此一個(gè)完善的構(gòu)建系統(tǒng)對(duì)于整個(gè)團(tuán)隊(duì)的開(kāi)發(fā)效率是有很大影響的,通俗來(lái)講構(gòu)建系統(tǒng)(build system)是用來(lái)從源代碼生成用戶可以使用的目標(biāo)(targets)的自動(dòng)化工具,一個(gè)靈活的構(gòu)建系統(tǒng)應(yīng)該可以支持任意擴(kuò)展和隨意配置,并且支持流水線作業(yè)。目前市面上的幾款自動(dòng)化構(gòu)建系統(tǒng)都已經(jīng)非常完善強(qiáng)大了。

  • Jenkins:Jenkins是一個(gè)老牌開(kāi)源軟件項(xiàng)目,是基于Java開(kāi)發(fā)的一種持續(xù)集成工具,用于監(jiān)控持續(xù)重復(fù)的工作,旨在提供一個(gè)開(kāi)放易用的軟件平臺(tái),使軟件的持續(xù)集成變成可能。
  • Travis CI :Travis CI 是目前新興的開(kāi)源持續(xù)集成構(gòu)建項(xiàng)目,它與jenkins,GO的很明顯的區(qū)別在于采用yaml格式,簡(jiǎn)潔清新獨(dú)樹(shù)一幟。
  • Jenkins

    本文主要以Jenkins為例講解如何在Windows環(huán)境配置自動(dòng)化構(gòu)建系統(tǒng),Linux環(huán)境的配置可自行搜索相關(guān)文獻(xiàn)。作為一款持續(xù)集成工具Jenkins不僅提供了基本的持續(xù)構(gòu)建功能,還提供了很多強(qiáng)大的額外功能,比如:打包后使用開(kāi)源軟件FileZilla進(jìn)行上傳、下載部署;可以編寫(xiě)單元測(cè)試腳本自動(dòng)執(zhí)行打包后版本進(jìn)行匯總性能分析;打包失敗自動(dòng)發(fā)送郵件給相關(guān)負(fù)責(zé)人等等。不僅如此Jenkins提供的插件功能更是涵蓋了持續(xù)化集成的方方面面,這些功能基本可以滿足任何項(xiàng)目的持續(xù)化集成與交付需求。

    用到的軟件或工具

  • JRE :Java Runtime Environment(下載鏈接:Java SE Runtime Environment 8)
  • Jenkins:(下載鏈接:http://mirrors.jenkins.io/war-stable/latest/jenkins.war)
  • Python :Python2.7版本(https://www.python.org/ftp/python/2.7.14/python-2.7.14.msi)
  • 7z:壓縮package工具(下載鏈接:http://www.7-zip.org/)
  • 環(huán)境搭建

    • Python運(yùn)行環(huán)境配置:下載并安裝Python,將安裝后python.exe所在的目錄附加到PATH環(huán)境變量中,我的電腦->右鍵屬性->高級(jí)系統(tǒng)設(shè)置->高級(jí)->環(huán)境變量,PATH中新增C:Python27(Python所在目錄)。
    • Java運(yùn)行環(huán)境配置:按照對(duì)應(yīng)操作系統(tǒng)下載并安裝jre,如果未自動(dòng)配置Java環(huán)境變量,手動(dòng)配置方法同Python。
    • 7z環(huán)境配置:下載安裝好7z,環(huán)境變量 PATH中新增C:Program Files7-Zip(Python所在目錄)條目。
    • Jenkins運(yùn)行及配置:下載 jenkins.war,進(jìn)入所在目錄運(yùn)行java -jar jenkins.war ,然后在瀏覽器中打開(kāi)http://localhost:8080,復(fù)制以上密碼,進(jìn)行jenkins初次設(shè)置。
    • 配置環(huán)境:把剛剛復(fù)制的password粘貼到Administrator password,安裝好必備的plugin,創(chuàng)建一個(gè)初始Admin User,Jenkins 環(huán)境就配置完成了。

    解鎖Jenkins

    如果遇到“該Jenkins實(shí)例似乎已離線”

    可以參考以下方式解決:

    打開(kāi)一個(gè)新的tab,輸入網(wǎng)址http://localhost:8080/pluginManager/advanced。 將最下面的“Update Site”中Jenjins默認(rèn)地址http://updates.jenkins.io/update-center.json改為其他國(guó)內(nèi)備用地址:

  • https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
  • http://mirror.esuni.jp/jenkins/updates/update-center.json
  • 最后在瀏覽器輸入http://localhost:8080/restart ,再啟動(dòng)就可以正常下載插件了。

    安裝插件

    創(chuàng)建Job

    在Jenkins主頁(yè)下可以點(diǎn)擊New Item 創(chuàng)建一個(gè)新的Job,Jekins提供了多種模板,選擇第一個(gè)Freestyle project 。Item Name建議最好與你的項(xiàng)目相同。Job 配置有General,源碼管理,構(gòu)建觸發(fā)器,構(gòu)建環(huán)境,構(gòu)建,以及構(gòu)建后操作幾個(gè)部分。

    創(chuàng)建Job

    打開(kāi)Jenkins主頁(yè)左側(cè)系統(tǒng)管理,選擇系統(tǒng)設(shè)置,在主目錄下方一行點(diǎn)擊高級(jí)按鈕,顯示出工作空間根目錄,更改到你的Workspace中:E:You Project Name${ITEM_FULLNAME}

    編寫(xiě)B(tài)uild腳本

    構(gòu)建腳本可以是Python也可以是Windows的批處理命令或者其他語(yǔ)言編寫(xiě)的腳本,整個(gè)過(guò)程主要是通過(guò)在Jenkins中配置好的參數(shù),調(diào)用腳本最終腳本調(diào)用對(duì)應(yīng)的編譯工具進(jìn)行打包,如果是Unity項(xiàng)目最終會(huì)調(diào)用ProjectBuild.cs進(jìn)行對(duì)應(yīng)平臺(tái)的打包操作。如果是Unreal項(xiàng)目則會(huì)調(diào)用Unreal Engine的打包工具進(jìn)行打包。例如新建一個(gè)UnityBuild.bat的Unity構(gòu)建文件:

    UnityBuild.bat 內(nèi)容如下REM UNITY程序的路徑 SET UNITY_PATH="D:Program Files (x86)Unity2019.2.0f1EditorUnity.exe"REM 游戲程序路徑 SET PROJECT_PATH="E:JenkinsworkspaceAutoBuild"REM 在Unity中構(gòu)建apk %UNITY_PATH% -projectPath %PROJECT_PATH% -quit -batchmode -executeMethod ProjectBuild.BuildForAndroid %1 -logFile build.logecho "Build生成完畢" PAUSE

    配置Jenkins job

    jenkins job 配置官方有詳細(xì)的文檔,在Jenkins主頁(yè)選擇創(chuàng)建好的job,左邊進(jìn)入Configure

  • General:勾選 “參數(shù)化構(gòu)建過(guò)程”。添加參數(shù) Choice Parameter, 填寫(xiě)Name為Configuration,Choices填Development和Shipping兩個(gè)選項(xiàng)換行隔開(kāi),Description 添加一些描述語(yǔ)言。添加參數(shù) String Parameter,填寫(xiě)Name為 Engine_Root,默認(rèn)值為引擎目錄,我的是“D:Program Files (x86)Unity2019.2.0f1Editor” 。再次添加Choice Parameter,填寫(xiě)Name為Platform,Choices填寫(xiě)Win64和Win32。
  • 源碼管理:以Git為例,Repository URL填寫(xiě)遠(yuǎn)程地址,Credentials點(diǎn)擊Add添加git賬戶密碼,其他選項(xiàng)按照需求填寫(xiě)。如果填寫(xiě)正確,每次build前會(huì)自動(dòng)獲取最新版本,選擇None則跳過(guò)這一步。
  • 構(gòu)建觸發(fā)器:Jenkins 提供了多種自動(dòng)檢查代碼,自動(dòng)構(gòu)建的功能,這里比如設(shè)置項(xiàng)目每天1點(diǎn)構(gòu)建,Build periodically 中填寫(xiě):H 1 * * *
  • 構(gòu)建環(huán)境:這個(gè)模塊主要做構(gòu)建的一些相關(guān)設(shè)置以及一些Plugin提供的功能,勾選了Add timestamps to the Console Output 選項(xiàng),會(huì)再build log 中增加時(shí)間戳。
  • 構(gòu)建:新增一個(gè) Execute Windows Batch Command,命令行中填寫(xiě):
  • UnityBuild.bat “D:Program Files (x86)Unity2019.2.0f1EditorUnity.exe” “%WORKSPACE%”

    Build

    配置完成保存,然后左邊選擇 Build with Parameters,可以看到配置中添加的參數(shù)列表,點(diǎn)擊開(kāi)始構(gòu)建執(zhí)行打包操作。同時(shí)還可以打開(kāi)Console Output 查看日志,以及打開(kāi)變更記錄查看此次打包變更內(nèi)容。打包后可以在配置好的release_path 目錄下看到壓縮后的版本。

    參考文獻(xiàn)

    • Jenkins+Unity踩坑日記(詳細(xì)下載安裝手冊(cè)):https://blog.csdn.net/alph258/article/details/86075956
    • Jenkins集成unity一鍵打安卓包:https://zhuanlan.zhihu.com/p/87964476

    總結(jié)

    以上是生活随笔為你收集整理的脚本自动定时打开链接_自动化构建系统的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。