git push ==> run things
(IT'S STILL A WORK-IN-PROGRESS)
I have several parts of a CI/CD system built. It's gonna do stuff. And be simpler. And probably free if I can swing it.
- Listen to Github webhook for pushes
- Create a temporary cloud server (currently using Ubuntu on Digital Ocean)
- Git clone into the server
- Git checkout the exact commit
- Test suite runner (currently using Mochawesome for test results)
- Upload test results
- Use the Github API to post the test results back to the commit
- Take snapshot of cloud server to create versioned image
- Remove hardcoded URLs
- Remove any CoffeeScript libraries
- Come up with a way / place to store test results that is NOT my pCloud account. Maybe a Github Pages directory?
- Remove hardcoded dependency on my particular Digital Ocean green/blue deployment naming scheme.
- Decide whether to make a generic "any packer.io run" or leave tailored for DigitalOcean and add DigitalOcean OAuth.
- Figure out whether to host it or make it a serverless lamda.
Because I have so many of the pieces written already anyway for my main money-site, I might as well glue them together and polish it a bit so it can be re-used.