自动执行本地部署
Automate the deployment of your Cloud Code module with the Unity Gaming Services CLI or project file.
阅读时间2 分钟最后更新于 1 个月前
该指南向您展示如何使用 Unity Gaming Services(Unity 游戏服务)(UGS) CLI 或项目文件自动部署 Cloud Code 模块。 如果要将部署集成到 CI/CD 管线中,请参阅与 CI/CD 集成。
先决条件
您需要一个 Cloud Code 模块和 UGS CLI 来自动执行本地部署:- 创建 Cloud Code 模块。
- 按照安装 CLI(Unity Gaming Services(Unity 游戏服务)CLI)的步骤进行 UGS CLI 的安装、配置和身份验证。
使用 UGS CLI 自动部署
UGS CLI 提供了可用于部署解决方案的deploydeployugs deploy <path_to_solution>
使用项目文件自动部署
如果您配置项目文件以便在构建时发布、压缩和部署项目,则可以使用项目文件自动执行 Cloud Code 模块的部署。
如需了解更多信息,请参阅 Microsoft 指南:了解项目文件。
该脚本使用 UGS CLI Deploy 命令。
项目文件配置
您可以使用以下项目文件配置来自动执行 Cloud Code 模块的部署:将上述配置复制并粘贴到项目文件中。<Target Name="RemoveDirectory"> <RemoveDir Directories="$(OutDir)Module/" /> </Target><Target Name="PublishModule" DependsOnTargets="RemoveDirectory"> <Exec Command="dotnet publish -r linux-x64 --no-self-contained -o $(OutDir)Module/$(AssemblyName)" /></Target><Target Name="ZipModule" DependsOnTargets="PublishModule"> <ZipDirectory SourceDirectory="$(OutDir)Module/$(AssemblyName)" DestinationFile="$(OutDir)Module/$(AssemblyName).ccm" /></Target><Target Name="DeployModule" DependsOnTargets="ZipModule"> <Exec Command="ugs deploy $(OutDir)/Module/$(AssemblyName).ccm" /></Target>
- 目标从
RemoveDirectory目录中移除OutDir目录。Module - 目标将模块发布到
PublishModule目录并生成所需的程序集。Module - 目标压缩
ZipModule目录。Module - 目标将模块部署到 Cloud Code 服务。
DeployModule
Ready to Run 编译(可选)
Ready to Run 编译是一项可缩短 Cloud Code 模块冷启动时间的可选功能。要检查此选项如何影响您的模块,请参阅 [Ready to Run](./package-code.mdx#ready-to-run-r2r-compilation。 要启用 Ready to Run 编译,请修改PublishModulePublishReadyToRun<Target Name="PublishModule" DependsOnTargets="RemoveDirectory"> <Exec Command="dotnet publish -r linux-x64 -p:PublishReadyToRun=true --no-self-contained -o $(OutDir)Module/$(AssemblyName)" /></Target>
运行目标
要运行这些目标,请在项目目录中从终端运行以下命令:如果未找到msbuild /t:DeployModule
msbuild msbuildPATH预期输出
如果部署成功,则会显示以下输出:Deployed:ExampleModule.ccm