> For open source projects, everything except the droplet in Digital Ocean is completely free.<p>Alternatively, Appveyor & Travis have fully free tiers. They don't even have my credit card number. CI is trivially forked, doesn't require configuring secrets per repository, etc. Being CI focused, both have configuration and UI oriented towards having a matrix of builds that can individually pass/fail for more granular results, and comes with various SVG badges for build status.<p>A concrete example of travis on a Rust project:<p><a href="https://github.com/MaulingMonkey/bugsalot/blob/master/.travis.yml" rel="nofollow">https://github.com/MaulingMonkey/bugsalot/blob/master/.travi...</a><p><a href="https://travis-ci.org/github/MaulingMonkey/bugsalot/builds/628911388" rel="nofollow">https://travis-ci.org/github/MaulingMonkey/bugsalot/builds/6...</a><p>Linux/Windows/OSX unit testing, Android/iOS/WASM builds.
A more indicative title would be: Hints for a self-hosted Java CI/CD with Github actions.<p>If you're using Gitlab and languages other than Java, there is nothing useful in this blog post.
You can do everything mentioned in the bullet points (CI service, test, build environment, docker image repository, code quality, coverage, metrics) except running the production code for free on Gitlab.com or self-hosted GitLab instance.<p>Edit. Serious question: why would you want to set up and maintain several different tools when you can have everything running in one place?
I use drone on my own server and love it. Just another alternative I wanted to mention<p><a href="https://drone.io/" rel="nofollow">https://drone.io/</a>
Google is offering free fuzzing to large open source projects:
<a href="https://google.github.io/oss-fuzz/getting-started/accepting-new-projects/" rel="nofollow">https://google.github.io/oss-fuzz/getting-started/accepting-...</a>
Thanks for sharing Daniel. I'm not sure if you're aware but netlify and vercel offer free domain hosting for Javascript / JAMstack projects. They both also offer pretty decent free CI/CD workflows, but I'm not sure how that works with custom images or anything.
I did something similar with a Flask server on EC2 that is updated on every push using Github Actions.<p><a href="https://github.com/wesbarnett/flask-project" rel="nofollow">https://github.com/wesbarnett/flask-project</a>
It comes down to how often you build, but I’ve been using AWS Amplify for CI/CD, and it’s been really awesome and simple to set up. You point it to your GitHub Repo, and you’re good to go. It works well for webapps.