化構(gòu)建與CI/CD集成實(shí)踐)
開場(chǎng):凌晨三點(diǎn),QA 在群里 @你:測(cè)試包還沒出,明天早上發(fā)版怎么辦。你揉了揉眼睛,打開 Unity Hub,手動(dòng)選場(chǎng)景、配 Player Settings、勾選 IL2CPP、Build And Run……一套流程下來二十分鐘過去了,還很容易漏掉某個(gè)渠道的 keystore 配置。這不是個(gè)例,而是無數(shù)中小團(tuán)隊(duì)每天都在重復(fù)上演的場(chǎng)景。一旦項(xiàng)目接入多渠道、多平臺(tái)打包,手動(dòng)構(gòu)建就成了效率黑洞。更糟的是,美術(shù)改了個(gè) UI 資源、程序合了個(gè)分支,你都得手動(dòng)跑一遍構(gòu)建流程,版本一致性根本無法保證——"我機(jī)器上能出包"成了團(tuán)隊(duì)里最恐怖的一句話。命令行模式就是來解決這個(gè)問題的:它讓 Unity 變成一個(gè)可以被腳本"調(diào)遣"的工具,而不是一個(gè)需要人坐鎮(zhèn)操作的可視化編輯器。這篇文章按"核心機(jī)制 → 底層進(jìn)程模型 → 工程落地"的順序展開,目標(biāo)是你讀完能直接搭出一條能跑的 CI 構(gòu)建流水線,并且知道每個(gè)參數(shù)為什么必須這么寫。一、命令行模式核心概念1.1 什么是 BatchMode-batchmode是整個(gè)命令行體系的開關(guān)。一旦加上這個(gè)參數(shù),Unity 不會(huì)彈出任何窗口,所有操作都在后臺(tái)完成。它必須配合其他參數(shù)才能干活,單獨(dú)使用只會(huì)讓 Unity 靜默啟動(dòng)然后一直掛著。# Mac / Linux /Applications/Unity/Hub/Editor/2022.3.18f1/Unity.app/Contents/MacOS/Unity \ -batchmode \ -nographics \ -quit \ -projectPath /Users/