文档

支持

Multiplay Hosting

Multiplay Hosting

容器版本工作流程

Follow this workflow to create and deploy container-based builds using the API.
阅读时间3 分钟最后更新于 15 天前

容器版本工作流程包括准备容器获取(或创建)版本创建版本文件列表对版本文件进行迭代创建版本的发布版本等待版本进行同步 在使用容器版本工作流程之前,必须具备 CCD API 密钥和具有以下角色的 UGS 服务帐户:
  • Multiplay API 查看者
  • Multiplay API 编辑者
  • Multiplay 注册表编辑者
下图显示了该工作流程的简化版本:
容器工作流程图

容器工作流程图

准备版本容器

  1. 构建容器镜像(使用带外过程)。
  2. 记录您的 Unity project ID 和环境 ID。
  3. 登录 Multiplay 容器注册表。
  4. 使用密钥 ID 作为用户名,密钥作为密码。请参阅身份验证
docker login registry.multiplay.com -u <KeyID>

获取或创建版本

获取版本的过程取决于您要使用现有版本还是创建新版本

按名称获取现有版本

您可以使用列出版本 API 按名称获取现有版本 ID。 在版本列表 API 响应体中,每个版本的
ccd.bucketID
字段提供相应版本的 CCD 存储桶 ID
buildID
字段提供相应版本的版本 ID。请记录您要使用的版本的
buildID
字段值。
以下代码示例显示了如何使用 curl 获取现有版本:
curl -X GET -H "Authorization: Basic <SERVICE_ACCOUNT_CREDENTIALS>" https://services.api.unity.com/multiplay/builds/v1/projects/{projectId}/environments/{environmentId}/builds
找到要使用的版本后,请记录下响应体中的
buildID

创建新版本

可以使用创建版本 API 来创建新版本。 以下代码示例展示了如何使用 curl 创建版本:
curl -X POST -H "Authorization: Basic <SERVICE_ACCOUNT_CREDENTIALS>" -H "Content-Type: application/json" \-d '{"buildName":"Dev Build A", "osFamily": "LINUX"}' \https://services.api.unity.com/multiplay/builds/v1/projects/{projectId}/environments/{environmentId}/builds
创建新版本后,请记录下响应体中的
buildID

为容器镜像添加标签

首次推送给新版本时,请使用
v1
作为
MultiplayTag
。后续推送时,请使用增量标签(例如
v2
)。
使用以下代码片段作为模板为容器添加标签(其中
ImageName
ImageTag
是本地镜像名称和标签)。
docker tag <ImageName>:<ImageTag> registry.multiplay.com/<ProjectID>/<EnvironmentID>/<BuildID>:<MultiplayTag>

将镜像推送给容器注册表

为容器添加标签后,请将其推送给 Multiplay 容器注册表。使用以下代码片段作为模板:
docker push registry.multiplay.com/<ProjectID>/<EnvironmentID>/<BuildID>:<MultiplayTag>

创建版本的发布版本

可以使用创建新的发布版本 API 来创建版本的发布版本。 以下代码示例展示了如何使用 curl 创建版本的发布版本:
curl -X POST -H "Authorization: Basic <SERVICE_ACCOUNT_CREDENTIALS>" -H "Content-Type: application/json" \-d '{"container": {"imageTag": "v1"}, "forceRollout": false}' \https://services.api.unity.com/multiplay/builds/v1/projects/{projectId}/environments/{environmentId}/builds/{buildId}/versions

等待版本进行同步

通过重试获取单个版本 API 直到
syncStatus
字段变为
SYNCED
,可确定版本何时完成同步。
以下代码示例展示了如何使用 curl 等待版本进行同步:
curl -X GET -H "Authorization: Basic <SERVICE_ACCOUNT_CREDENTIALS>" https://services.api.unity.com/multiplay/builds/v1/projects/{projectId}/environments/{environmentId}/builds/{buildId}