应用与版本
了解版本控制和应用程序——概念与最佳实践,以便深入理解。
📦 应用程序
应用程序封装服务器项目。如果你:
同时开发多个游戏或非游戏项目(统一结算),
作为共同开发者参与外部项目(以后可转移所有权),
依赖多种松耦合的服务器类型且具有不同的扩展模式或需求,
你可以使用我们的插件在 Edgegap 上管理你的应用程序, 仪表盘,或使用我们的 API。
探索我们的 应用程序 API 参考,或阅读更多关于我们的 管理 API.
🏷️ 应用版本
随着你开发应用并持续产出新构建,你需要将每个构建作为独立版本存储以便:
维护兼容性 在客户端和服务器之间,
比较你的各种 增量发布 (性能、用户反馈),
测试 多个应用版本同时运行 (开发、质量保证、暂存、测试版)。
你可以使用我们的在 Edgegap 上管理应用版本, 仪表盘,或使用我们的 API。
探索我们的 应用版本 API 参考,或阅读更多关于 API.
每个版本在其父应用内通过以下方式唯一标识 应用版本名称。你可以自由决定自己的命名约定。这里有一些常见示例供你参考:
2024.01.30-16.23.00-UTC- 时间戳便于保留许多历史版本,1.1.0- 语义版本控制 是表达变更范围的很好选择,dev,staging,qa,prod- 每个环境只保留最新版本会非常简单,blue,green- 版本可以用作滚动更新发布策略的别名。
只要你保持客户端/服务器兼容性,你可以随时更改策略。
结合版本策略
通常,最佳方案是混合多种版本策略,例如:
对开发构建使用时间戳或语义版本控制,以便更细粒度跟踪;
保留
staging,qa和prod具有环境特定参数的版本;交替使用
blue和green版本作为 零匹配停机时间更新的别名.
🧱 必填参数
这些基础参数必须始终定义。
资源需求
除了 版本名称之外,创建新版本还需要若干参数:
vCPU - 你的应用运行所需的虚拟 CPU 单位数量(1024 单位 = 1 vCPU),
允许的最小 vCPU 为 0.25 vCPU(256 单位),
此设置不能在现有应用版本上编辑,必须创建新版本。
内存 - 你的应用运行所需的 RAM 大小(1024MB = 1GB),
此设置不能在现有应用版本上编辑,必须创建新版本。
GPU - 你的应用运行所需的图形处理单元数量,
此功能尚不可用,如有兴趣请联系我们。
版本会自动按 2:1 的 RAM-vCPU 比例包含内存, 最多允许每 0.25 vCPU 配置 512MB 内存.
镜像详情
这些参数将帮助我们的系统决定之后应启动你的服务器的哪个构建:
注册表 -
registry.edgegap.com如果你使用我们的 容器注册表,要使用第三方注册表,请输入你的第三方注册表 Docker 凭证,
注册表作为你和其他用户仓库的共享存储服务。
镜像仓库 - 指你的应用专用仓库,
在我们的 仪表盘的容器注册表页面,
上找到你所有的仓库,
每个仓库可能包含你的服务器镜像的多个标签。 标签
- 指服务器镜像的特定构建工件(版本),
我们的插件默认会将标签值从应用版本名称复制过来,
❌ 你可以在 Docker Desktop 的镜像中或使用 docker CLI 查看本地存储的标签。 切勿 - 覆盖已有标签或使用 latest 标签,
✅ 以避免部署过时(缓存)的构建。 务必 - 始终增加你的版本标签
根据 Docker API 标准并为确保最佳用户体验,我们仅提供删除标签的接口。请参阅上文关于删除构建工件的说明。
⚙️ 可选参数
这些参数可配置以进一步自定义你的部署。
注入变量
自定义环境变量将注入到此版本的所有部署中:
常见示例包括:引擎参数、第三方密钥和端点, 未捕获的服务器异常会导致部署的容器重启并使 TLS 安全失效。在这种情况下, 请参见
以了解根据部署上下文注入环境变量的不同方式,除了应用版本变量之外,
每个环境变量最多可包含 4KB(千字节)的字符串数据。 请确保 将你的敏感变量(密钥、令牌)设置为隐藏
以增强安全性!
🌟 主动缓存 升级到按使用付费等级
以解锁全球 0.5 秒部署时间! 加速部署并在数秒内启动服务器,无需预备服务器。
与此应用版本关联的服务器镜像将自动在我们全球所有地点预加载。
缓存在你的应用版本的缓存级别达到 🟢 良好 时将全面生效。 多个应用版本可以重用相同的镜像标签。为某一版本启用缓存将自动为所有使用相同镜像标签的版本启用缓存,
镜像在部署时也会被被动缓存,仅在其被部署的主机上。
如果镜像连续 72 小时未被部署,则会从缓存中移除。
端口映射
每个服务器至少需要一个端口以接受传入客户端连接: 端口 值指的是 内部端口
值,通常来自你的网络代码集成, 协议
将取决于你的网络代码集成传输, 名称
是供你识别的人类可读标识,可与端口相同, 验证
可启用以确保你的容器在被标记为 READY 之前已初始化。 7777.
大多数游戏只需为端口添加单个 UDP 端口映射 虽然服务器进程的内部端口作为应用版本的一部分被定义,外部端口在创建部署后会被随机分配,

如果你的服务器通过多种协议通信,请在端口映射中添加更多端口。
安全护栏
可帮助你清理启动时间过长的部署。 容器日志存储
常见示例包括:引擎参数、第三方密钥和端点, - 若要在部署停止后导出服务器日志,请指定预配置的兼容 S3 的桶以导出容器日志, 端点存储
有关配置和使用的详细信息。
没有外部存储的版本在部署终止时其日志将被删除。
⏩ 更新一致性 仪表盘为了确保在你通过我们的创建新应用版本时没有参数发生变化, 我们建议使用 “复制”
功能,位于之前应用版本仪表板页面的右上角。复制时,你可以在保存前编辑任何参数。
最后更新于
这有帮助吗?

