由于某些限制,我无法使用Docker,更不用说Docker编排工具,如Docker Swarm和Kubernetes。
我仍然想实现基本的CI / CD流程。
更具体地说,我希望有一个系统可以部署新版本,但还可以监视我的服务(即进行运行状况检查),并在出现故障的情况下将服务重新部署或回滚到以前的版本。
我可以使用哪些工具?
对于堆栈上的基本CI / CD,最好的选择是Ansible之类的bash脚本。如果您在云上并且需要进行大规模扩展(远远超出基本范围),请考虑使用Spinnaker(这在VM级别上是不变的基础架构方法)。
注意,无论如何,这是上一代方法。但是您的bash脚本和基本情况的工具可能看起来像这样:
并且您在cron上的bash脚本将按以下方式工作:
这里Consul将用于在多个节点之间进行同步。
同样,请注意,这是上一代方法。现代容器编排工具可以为您完成很多此类工作,因此您无需编写所有脚本。