对于我们的一个应用程序,我们正在尝试自动化部署过程。我们为此应用程序实施了端到端的持续集成(构建/测试/打包/报告)。现在我们正在尝试实现自动化部署。这个应用需要部署在2000台服务器上,每台服务器下有50个客户端。一些组件将安装在服务器上,其中一些组件将安装在客户端上。
用于 CI 的工具:Jenkins、Github、msbuild、nunit、specflow、wix。
我已经阅读了持续交付和持续部署之间的区别,并理解持续交付意味着代码/更改被证明可以在任何时间点生效,持续部署意味着经过验证的代码/更改将自动部署到生产服务器。
网络上的大多数文章都解释了我们如何将持续交付/部署到其中一台服务器(DEV/Staging/Preproduction/production)的部署部分自动化。没有一篇文章谈到将应用程序部署到大量服务器和客户端。
现在我的问题是 1) 将应用程序部署到 2000 多个服务器和客户端是持续部署的一部分,还是应该在 CI/CD 之外处理?2)如果它可以在 CI/CD 中处理,那么我如何在 Jenkins 交付管道中对此进行建模并从 CI 工具触发所有服务器的部署?3) 是否有任何工具可以与 CI 工具集成以自动化部署?
谢谢