With my affords to fix pineview, I’m in the situation to think about what I want to have for a CI/CD. Having it would improve blogging and deployment because I could also use my phone for it. However, many CI/CD I know do not offer the necessary ‘smallness’ for what I need.
A CI/CD is nothing more than a machine with remote code execution. You push your commit to it and the machine starts right away to execute any given code. There are various great CI/CD system. But, many of them are just vastly to big. GitLab requires a massive number of resources and bypassed being a container to host code long ago. The attached CI/CD can couple with many complex scenarios, but has become to complex on it own.
What I want is a simple and slick system. Lucky, git itself provides everything you need. Instead of having some framework to make it run, all what I’m going to do is executing a bash script. Within git there are hooks implemented. Whenever a state change occurred within git, you can trigger it.
For instance, there are pre-merge hooks. They are mainly used to ensure consistency: Was the commit signed? Is there maybe a typo in the hook is this a push to a restricted branch?
A CI/CD will utilize the post-hook. Once you’ve completed a push, and it was merged into the branch it’s going to trigger my deployment script!