![无需 SSH 即可部署 monorepo](https://linux22.com/image/777146/%E6%97%A0%E9%9C%80%20SSH%20%E5%8D%B3%E5%8F%AF%E9%83%A8%E7%BD%B2%20monorepo.png)
全面披露:我是 DevOps 新手。
我在 EC2 实例上运行 MERN mono 存储库。最初,我总是通过 SSH 进入我的计算机,从存储库中提取数据,然后重新构建。但这样做存在问题……构建过程需要更长的时间,因此当 SSH 连接有时中断时,构建过程就会终止。这种情况经常发生,使得部署变得困难。
我考虑了一下,确信有一项服务可以做到这一点:我可以在我的存储库(BitBucket)中使用 CI/CD 管道,因此当主分支上有提交时,它可以 ping 我的实例,然后我的实例上运行一个应用程序,当它收到此 ping 时,拉取、重建并重新启动存储库。因此,由于它将是 EC2 内部的应用程序,因此 a.) 无需 SSH 进入,并且 b.) 是一个可靠的部署解决方案。如果有办法在触发构建过程时对其进行监控,那就太好了。
我无法表达我的要求,因此无法找到可用的解决方案,请提出相同的建议。
答案1
我建议你多了解一下 CI/CD 的工作原理。Bitbucket 管道足以满足你的需要。你想要的东西确实存在于许多工具的范围内。没有单一的工具可以完成所有事情,有些人使用 Kubernetes,有些人使用 docker-compose。对于健康检查,通常在负载均衡器或类似工具上处理。有些人创建自定义脚本来管理一切。从你的描述来看,听起来大量手动脚本编写是最合适的。