Unity 游戏服务 CLI

您可以使用 Unity 游戏服务 CLI 与云代码模块进行交互。CLI 允许您从命令行创建、部署和管理云代码模块。

先决条件

如需深入了解 CLI,请按照 Unity 游戏服务 CLI 快速入门指南 中的步骤操作。

要遵循本指南,您必须先完成以下操作

  1. 安装 UGS CLI.

  2. 配置您的项目 ID 和环境,如下所示
    ugs config set project-id <your-project-id>
    ugs config set environment-name <your-environment-name>

  3. 使用 云代码环境管理 所需的角色配置服务帐户。请参阅 进行身份验证

使用 CLI

有关所有命令和选项的完整参考,请参阅 云代码命令行文档

Note: The ugs cloud-code modules command is also available as ugs cc m.

Note: The CLI does not currently support custom tags for modules, and they will be ignored. If you would like to attach custom key-value pairs to your modules, use the Cloud Code API.

创建模块

要在本地创建一个包含示例模块的解决方案,您可以运行 new-file 命令

ugs cloud-code modules new-file <module-name> <module-directory>

该命令将创建一个包含示例模块的新解决方案。

您可以按原样使用该解决方案,也可以对其进行修改以满足您的需求。

Note: Storage limits apply. Check Cloud Code Limits.

部署模块

Deploy 命令允许您将云代码模块部署到远程环境。该命令支持 .ccm 格式的预编译模块和 C# 解决方案,它们会在部署之前自动编译和压缩。

默认情况下,部署基于解决方案的 Release 构建配置。此配置应避免包含测试项目等额外内容,以减小大小。要详细了解构建配置,请访问 RiderVisual Studio 的文档。

要一次部署多个模块,请提供多个文件路径或包含多个文件的目录

ugs deploy <path-to-ccm-file> <path-to-sln-file>
ugs deploy <path-to-directory>

部署 C# 解决方案

您可以部署 C# 解决方案,并在部署之前自动对其进行编译和压缩。

为了支持编译,解决方案必须包含 主项目 的发布配置文件。

请参阅特定的 IDE 文档以了解如何创建发布配置文件

部署解决方案时,它们会在部署之前自动编译和压缩。结果将保存到您的本地临时文件夹(例如,<temp-folder>/<solution-name>)。

要部署 C# 解决方案,请提供指向 .sln 文件的路径作为命令的参数

ugs deploy <path-to-sln-file>

重要提示:目前,解决方案部署仅支持每个解决方案一个主项目。主项目是包含发布配置文件的项目。您无法部署包含多个模块的解决方案。此外,请确保此解决方案的所有项目在文件夹层次结构中位于解决方案文件下。要了解如何构建您的解决方案,请参阅 模块结构

部署预编译模块

要部署预编译模块,请提供指向 .ccm 文件的路径作为命令的参数

ugs deploy <path-to-ccm-file>

Note: For most use cases, you can use the deploying solutions workflow. As a more advanced workflow, you can package and deploy pre-compiled modules. To learn how to compress your module into a .ccm file, refer to Package code.

环境同步

您可以移动一个环境中的所有模块并将其部署到另一个环境。

运行以下命令以生成当前环境中所有模块的存档

ugs cloud-code modules export <out-dir> <file-name>

然后,您可以通过运行以下命令导入模块并将其部署到另一个环境

ugs cloud-code modules import <in-dir> <file-name> --environment-name <environment-name>

Note: Import does not overwrite your environment by default. If you would like to delete existing modules before importing, use the --reconcile flag.

检索模块

要获取有关您部署的单个模块的信息,请运行以下命令

ugs cloud-code modules get <module-name>

模块名称是 .ccm 存档中包含的 .NET 类库的名称。您还可以通过运行以下命令列出当前部署到云代码的所有模块

ugs cloud-code modules list

删除模块

要删除模块,请运行以下命令

ugs cloud-code modules delete <module-name>