
Docker镜像,用于导出Godot Engine游戏并部署到GitLab/GitHub Pages和Itch.io,支持通过GitLab CI和GitHub Actions实现自动化流程。
!godot-ci
https://hub.docker.com/r/barichello/godot-ci/
本项目包含 .gitlab-ci.yml 和 .github/workflows/godot-ci.yml 作为配置参考。
有关使用此模板的实际项目、示例和教程,请查看以下列表:
若要构建启用Mono的Godot项目,需在 .gitlab-ci.yml(GitLab)或 godot-ci.yml(GitHub)中将镜像标签从 barichello/godot-ci:VERSION 更改为 barichello/godot-ci:mono-VERSION。例如:barichello/godot-ci:mono-3.2.1。
构建调试版本(debug.keystore),可使用 .gitlab-ci.yml 文件中的 android_debug 任务示例。
若要使用自定义密钥库导出Android版本,步骤如下:
base64 release.keystore -w 0certutil -encodehex -f release.keystore encoded.txt 0x40000001SECRET_RELEASE_KEYSTORE_BASE64(类型为变量)添加。SECRET_RELEASE_KEYSTORE_USER(类型为变量),值为密钥库别名。SECRET_RELEASE_KEYSTORE_PASSWORD(类型为变量),值为密钥库密码。.gitlab-ci.yml 文件中的 android 任务示例。有关GDNative C++编译自动化,可参考基于此仓库的 https://github.com/2shady4u/godot-cpp-ci 仓库。
需先编译包含模块的Godot引擎。可参考Calinou的 godot-builds-ci 仓库实现Godot构建自动化。
之后,使用自定义构建照常导出项目。可参考Greenfox的 指南 了解如何将自定义Godot构建用于自动化导出。
暂不支持。Xcode项目自动化虽可行但复杂,且GitHub Actions最近才支持macOS运行器,未来将逐步支持。
以下是各支持的CI服务、模板任务及实际示例的对应关系。
| CI服务 | 模板 | 示例 |
|---|---|---|
| GitLab CI | https://github.com/aBARICHELLO/godot-ci/blob/master/.gitlab-ci.yml#L16-L58 / https://github.com/aBARICHELLO/godot-ci/blob/master/.gitlab-ci.yml#L60-L76 / https://github.com/aBARICHELLO/godot-ci/blob/master/.gitlab-ci.yml#L78-L91 / https://github.com/aBARICHELLO/godot-ci/blob/master/.gitlab-ci.yml#L93-L113 | GitLab CI流水线 |
| GitHub Actions | https://github.com/aBARICHELLO/godot-ci/blob/master/.github/workflows/godot-ci.yml#L8-99 | https://github.com/aBARICHELLO/godot-ci/actions |
首先,从用作模板的 .yml 文件(.gitlab-ci.yml 或 .github/workflows/godot-ci.yml)中移除未使用的任务/阶段。
然后,根据所选CI和任务,在配置面板中添加以下环境变量:
https://github.com/<用户名>/<项目名>/settings/secretshttps://gitlab.com/<用户名>/<仓库名>/settings/ci_cd| 变量 | 描述 | 示例 |
|---|---|---|
| REMOTE_URL | 托管Web导出的git远程地址(需包含部署/个人访问令牌) | https://<github用户名>:<部署令牌>@github.com/<用户名>/<仓库>.git |
| GIT_EMAIL | 提交到 gh-pages 分支的Git*** | email@example.com |
| GIT_USERNAME | 提交到 gh-pages 分支的用户名 | username |
其他变量由 gitlab-runner 自动设置,详见 预定义变量文档。
部署到Itch.io通过 Butler 实现。所需变量:
| 变量 | 描述 | 示例 |
|---|---|---|
| ITCHIO_USERNAME | Itch.io用户名(个人页面地址:https://<用户名>.itch.io) | username |
| ITCHIO_GAME | 游戏名称(游戏地址:https://<用户名>.itch.io/<游戏名>) | game |
| BUTLER_API_KEY | Itch.io API密钥(用于Butler认证),在GitLab CI中需设为“Masked”以保密 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
export_presets.cfg 中的导出名称是否与CI脚本中使用的名称匹配。test-project 模板),部分命令可能因路径错误无法运行。Greenfox的 godot-build-automation 仓库同样用于Godot导出自动化,内容丰富。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务