You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This is mostly a stream-of-consciousness note to myself.
Since recent work was completed on the just-trivia branch, the scope of this project has expanded a bit. As such, it may make sense to create a new repo or otherwise change the name.
It started as a hacky little CI/CD setup. It provided good development workflow for me. I could just push to github and get coffee, like a serverless arrangement only I also control the server. I never managed to break a build, through a mix of being careful, having an identical staging environment and luck.
Now that I'm adapting this to other projects, there could benefit from making this into a personal library. Something I can just npm install rather than having to basically fork the project. The new features on the just-trivia branch are turning this towards a more robust solution for my side projects:
Rolls back to last known good commit if a build fails.
Email notifications on rollback failure.
Process monitoring, logging, etc by running it as a systemd service.
Code has been cleaned up a lot and moved to a more sane file/folder structure
I see the library working like this:
I need CI/CD for a new site, so I create a new project and install the library
Create an instance of WebhooksServer (working title), passing in the config:
All the stuff currently in config.js: port, host, routes, secrets
A deploy script and a rollback script for each route. The bash scripts could be generalized to support all the routes, but I prefer to keep the complexity in the JS and keep the bash scripts as simple as possible.
Maybe some optional strings for log and email messages that override the defaults
Call a listen() or start() method
The text was updated successfully, but these errors were encountered:
This is mostly a stream-of-consciousness note to myself.
Since recent work was completed on the just-trivia branch, the scope of this project has expanded a bit. As such, it may make sense to create a new repo or otherwise change the name.
It started as a hacky little CI/CD setup. It provided good development workflow for me. I could just push to github and get coffee, like a serverless arrangement only I also control the server. I never managed to break a build, through a mix of being careful, having an identical staging environment and luck.
Now that I'm adapting this to other projects, there could benefit from making this into a personal library. Something I can just
npm install
rather than having to basically fork the project. The new features on the just-trivia branch are turning this towards a more robust solution for my side projects:Rolls back to last known good commit if a build fails.
Email notifications on rollback failure.
Process monitoring, logging, etc by running it as a systemd service.
Code has been cleaned up a lot and moved to a more sane file/folder structure
I see the library working like this:
I need CI/CD for a new site, so I create a new project and install the library
Create an instance of WebhooksServer (working title), passing in the config:
All the stuff currently in config.js: port, host, routes, secrets
A deploy script and a rollback script for each route. The bash scripts could be generalized to support all the routes, but I prefer to keep the complexity in the JS and keep the bash scripts as simple as possible.
Maybe some optional strings for log and email messages that override the defaults
Call a
listen()
orstart()
methodThe text was updated successfully, but these errors were encountered: