With the rapid growth of my self hosted services with a wife and others that use them and my interest in building out my personal experience, I could use some advice on the path of building my own, even if simplistic, CI/CD pipline to keep everything orginized and minimize downtime/broken fetures in production. If anyone has any advice in this area with what to look for and what to avoid, it would be greatly appreciated. Thanks!
There are a lot of different tools available to run this, and many of them have at least a free option, if not something fully free. So, you’re best bet is to look at what they could do for you, then identify the problem(s) you’re trying to solve, and then see if one of the tools fits that bill.
To help you with this, you need to tell us what your environment looks like. A CI/CD pipeline for a VM based infrastructure looks VERY different than a fully GitOpsed k8s platform, which looks different than a pipeline for regular Docker containers, which looks different than if you have some cloud infrastructure, etc etc.
It’s VM/LXC based (Proxmox). Though, most, if not all, of my front facing services are in a Docker VM. whereas my backend servers are run in LXC containers.
First of all you need to establish an SLA. As for automation you have all kinds of things to choose from, like puppet, ansible, terraform, salt, pulumi, argocd, flux, etc (not necessarily exclusive). Personally I like terraform to provision resources and Ansible to configure them. Some I do through Gitea actions.