A set of Docker Container usefull to automate build of Godot games with Woodpecker CI.
I think it can be usefull for a lot of people so I publish them here. If you find these Docker usefull, feel free to ping me on BlueSky, check my website or support me on Ko-Fi.
You can find some examples workflow here.
If you see this repository on Github, known that this is a mirror of the Codeberg Repository !
CI and CD respectively mean Continuous Integration and Continuous Deployment. It's a way to execute a set of actions everytime an action occures. Like every day at 10AM, at every commit on main branch, on each tags... It's used in a lot of big game studio to create games build, execute tests, deploy server... It's removing all the pain of building the game and discover that you can't because reason. And combined with Itch.io butler and Steam Cmd you can even push your game on Steam and Itch.io.
This set of container is aimed to be used with Woodpecker CI, a lightway CI system that's work with Docker. You may have some basic Docker Container where you execute a list of commands, or a Docker that run a custom binarie and do a specific task (like the Discord Notification).
On each folder, you will find an other Docker image. You can create a new repository, copy the code, including the .woodpecker folder that will create automate the Image creation for you on your private Docker Repository. That's how I use it with Forgejo!
But to ease your process, I've published every Docker Container on Github (maybe on Codeberg to if I can have the authorization), so you will have some link to use that to. But it's better to host it yourself. You know, avoid private owned service...
Here some links to documentation that I use when I need to create some new CI for my Godot games.
- Itch.io butler
- GameCI's Steam Deploy: I use this as an inspiration to understand how to use SteamCMD in CI
- Godot CLI
- discordnotification: Send a message to a Discord channel when the build is a success/fail via Discord Webhook
- itchci: A container with itch.io butler already installed
- bunnyci: A plugin to help you publish your game on Bunny.net
- steamci: A plugin to help you publish your game on Steam from CI
- godotci: Contains everything you need to export a Godot game (Godot and export templates in the good folder) for Windows/Linux/Web/Android