文档

支持

Cloud Code

自动执行本地部署

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 来自动执行本地部署:
  1. 创建 Cloud Code 模块
  2. 按照安装 CLI(Unity Gaming Services(Unity 游戏服务)CLI)的步骤进行 UGS CLI 的安装、配置和身份验证。

使用 UGS CLI 自动部署

UGS CLI 提供了可用于部署解决方案的
deploy
命令。
deploy
命令将模块压缩并部署到 Cloud Code 服务。
要进行部署,请在项目目录中从终端运行以下命令:
ugs 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
    目录。
  • DeployModule
    目标将模块部署到 Cloud Code 服务。

Ready to Run 编译(可选)

Ready to Run 编译是一项可缩短 Cloud Code 模块冷启动时间的可选功能。要检查此选项如何影响您的模块,请参阅 [Ready to Run](./package-code.mdx#ready-to-run-r2r-compilation。 要启用 Ready to Run 编译,请修改
PublishModule
目标以包含
PublishReadyToRun
属性:
<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 
命令,可能需要将
msbuild
路径添加到
PATH
环境变量。

预期输出

如果部署成功,则会显示以下输出:
Deployed:ExampleModule.ccm