Closed matschaffer closed 2 years ago
Renaming since codebuild + codedeploy could be another way to tackle this w/o having to possibly pay for closed-source builds.
I was unable to get anything that felt point-and-click after mucking with CodePipeline/CodeBuild/CodeDeploy after a week or so. So I set up semaphore. Everything we're going to want a click-through deployment for are OSS anyway.
https://semaphoreci.com/safecast is the organization there. Repos are set up, just need to fix the builds and set up the deployment targets.
To note, one thing semaphore doesn't do especially well is one-click rollback like cloud66 does.
But it's fairly easy to select a previous deployment and re-deploy it to the same environment.
The concept of "changes" will also become a little more fluid here. But we'll have git shas we can work from to determine source of change without too much trouble.
Making some headway!
When we tackle this for safecastapi, it might be good to add a wait loop to .elasticbeanstalk/deploy.sh
We hit our first semaphore cache file-not-found error today https://semaphoreci.com/safecast/ingest/servers/dev/deploys/13
Semaphore support warned us that this might happen as cache files don't propagate immediately.
I suspect we can add a loop that checks every 5s for 10m as a workaround (until semaphore has proper artifact support).
Currently, using Circle CI and creating application version during build.
We should have some way to simply say "deploy build X to environment Y" from a browser.
This will help avoid the current confusion we have with c66 where sometimes staging isn't set to the intended branch.
We'll might lose the cloud66 "changes" view (at least initially), but I suspect the less branch confusion will be worth it. We may also be able to get it back via a clever deployment script.