DEV.co
Open-Source DevOps · abarichello

godot-ci

godot-ci is a Docker image and CI/CD template suite for automating Godot Engine game exports and deployments to GitHub Pages, GitLab Pages, and Itch.io. It simplifies building and publishing games by providing pre-configured workflows for GitLab CI and GitHub Actions.

Source: GitHub — github.com/abarichello/godot-ci
1.1k
GitHub stars
164
Forks
Dockerfile
Primary language
MIT
License (OSI-approved)

Key facts

Objective fields from the source. Values we can't verify are shown as “Unknown” rather than guessed.

FieldValue
Repositoryabarichello/godot-ci
Ownerabarichello
Primary languageDockerfile
LicenseMIT — OSI-approved
Stars1.1k
Forks164
Open issues43
Latest release4.7-stable (2026-06-19)
Last updated2026-06-22
Sourcehttps://github.com/abarichello/godot-ci

What godot-ci is

A containerized Godot export environment (Dockerfile-based) with templated CI/CD jobs for GitLab CI and GitHub Actions, supporting multiple export targets (web, Android, Windows, macOS) and deployment platforms. Includes optional Mono/C# builds and Android keystore-based signing.

Quickstart

Get the godot-ci source

Clone the repository and explore it locally.

terminalbash
git clone https://github.com/abarichello/godot-ci.gitcd godot-ci# follow the project's README for install & configuration

Need it deployed, integrated, or customized instead? DEV.co ships production installs.

Best use cases

Automated HTML5/Web Game Deployment

Publish Godot games to GitHub Pages or GitLab Pages automatically on each commit, enabling rapid iteration and live demos without manual export steps.

Itch.io Release Pipeline

Streamline multi-platform game releases to Itch.io using Butler integration and CI/CD variables, reducing manual build and upload overhead.

Multi-Platform Export Automation

Generate exports for Android (with custom keystores), Windows, macOS, and web targets in a single CI pipeline, enabling consistent cross-platform releases.

Implementation considerations

  • Godot export presets file (export_presets.cfg) must be committed to version control; verify export preset names match CI script references exactly (case-sensitive).
  • Android signing requires Base64-encoding of keystores and storage as CI/CD secrets; protect release keystores carefully as they cannot be revoked if leaked.
  • Verify correct Docker image tag usage (standard vs. mono-VERSION for C# projects) and adjust template scripts for Godot version compatibility.
  • GitHub Pages deployments require personal access tokens or deploy tokens stored as CI/CD secrets with proper scoping.
  • Test deployment templates locally using the reference .gitlab-ci.yml and .github/workflows/godot-ci.yml examples before adapting to production.

When to avoid it — and what to weigh

  • iOS Deployment Required — iOS export automation is explicitly not yet available. macOS Xcode automation is complex and would require alternative tooling.
  • Custom Godot Modules or GDNative/C++ — If your project uses compiled Godot modules or GDNative, you must compile a custom Godot build separately (this tool does not automate that step).
  • No CI/CD Pipeline Existing — Requires familiarity with GitLab CI or GitHub Actions YAML configuration. Teams new to CI/CD may face setup friction without additional DevOps support.
  • Strict Air-Gapped or Private Registry Requirement — Relies on Docker Hub as the image source; offline or private registry deployments require additional infrastructure setup.

License & commercial use

Licensed under MIT (MIT License), a permissive OSI-approved license allowing commercial use, modification, and distribution with attribution.

MIT license permits commercial use of the tool and exported games without royalty. No proprietary restrictions identified. However, review Godot Engine's own licensing separately (typically MIT for the engine itself) to ensure compliance with your distribution model.

DEV.co evaluation signals

Editorial assessment — not user reviews. Directional, with an explicit confidence level.

SignalAssessment
MaintenanceActive
DocumentationAdequate
License clarityClear
Deployment complexityModerate
DEV.co fitStrong
Assessment confidenceHigh
Security considerations

Secrets management is critical: keystores, API keys, and git tokens stored in CI/CD variables must be marked as masked/protected. The tool itself runs in a controlled Docker environment. No audit of Godot Engine security posture or Docker image vulnerability scanning disclosed. Teams should scan images regularly and rotate long-lived credentials (e.g., Itch.io API keys). Ensure export_presets.cfg does not accidentally commit keystores or signing credentials to version control.

Alternatives to consider

Godot Mono Container (Community)

Alternative community Docker images exist for Godot; this project is more mature and includes integrated CI/CD templates rather than just the container.

Manual GitHub Actions / GitLab CI Configuration

Write raw CI/CD jobs without a template; offers full control but requires expertise in Godot export command-line flags and dependency management.

Game CI (game-ci/unity-builder, similar patterns)

Game CI provides similar automation for Unity and other engines; Godot-ci is Godot-specific and better integrated with Godot export workflows.

Software development agency

Build on godot-ci with DEV.co software developers

Review the README examples, copy the template .gitlab-ci.yml or .github/workflows/godot-ci.yml to your repository, configure CI/CD secrets, and validate your export_presets.cfg. Start with a web export to GitHub Pages for fastest feedback.

Talk to DEV.co

Related open-source tools

Surfaced by semantic similarity across the DEV.co open-source index.

Related on DEV.co

Explore the category and the services that help you build with it.

godot-ci FAQ

Does godot-ci support C# / Mono projects?
Yes. Use the mono-VERSION image tag (e.g., barichello/godot-ci:mono-4.7-stable) and update setup commands to reference .stable.mono export templates.
Can I deploy to iOS?
Not yet. iOS export automation is not currently available in godot-ci; Xcode automation is complex and would require separate tooling.
How do I securely handle Android keystores?
Convert your keystore to Base64 (base64 release.keystore -w 0 on Linux/macOS), store the result in a CI/CD variable marked as masked, and reference variables for keystore user and password. Never commit keystores to git.
What happens if my export preset names don't match the CI script?
The build will fail. Export preset names in export_presets.cfg must match exactly (case-sensitive) with names referenced in .gitlab-ci.yml or .github/workflows/godot-ci.yml.

Work with a software development agency

DEV.co helps companies turn open-source tools like godot-ci into production software. Our software development services cover the full lifecycle — architecture, web development, integration, and maintenance — delivered by software developers and web developers who ship. Engage our software development agency to implement or customize it for your open-source devops stack.

Ready to Automate Your Godot Builds?

Review the README examples, copy the template .gitlab-ci.yml or .github/workflows/godot-ci.yml to your repository, configure CI/CD secrets, and validate your export_presets.cfg. Start with a web export to GitHub Pages for fastest feedback.