I’m currently trying to optimize my workflow but I’m a bit lost on how to cut down deployment time once I push to production.
At the moment my workflow is something like:
- Commit to branch
- Merge to master
- Wait for tests to complete
- Login into my production server
- Manually pull and build
While it’s not prone to many errors, it’s definitely an annoyance to do over and over since the process is always the same.
I’m wondering if there’s any way to automatically pull changes and build my application once I push changes to my Github repository and the tests successfully pass?
I’m aware of Jenkins, but it seems like it would add a lot of overhead that I don’t really need since most of my repositories are simple websites.
Is there a way to do this without external tools? Ideally I’m looking to implement something that would:
- Recognize when tests are passed on github
- Pull changed code
- Install dependencies and build the application
- Reload the existing application
Note: I’ve found a lot of tutorials that involve creating a bare repo on the server and then manually pushing code to that. This wouldn’t be a great solution as I would essentially need to push to two different repositories every time. But if there’s any way to implement this with Github being the middle man that would be fantastic!