我有一个电子商务网站,在同一个域上有多个前端应用程序,其中3-4个应用程序是用Angular4编写的,2-3个应用程序是用Angular1.2编写的,很少有应用程序是纯TypeScript应用程序。所有申请都由NPM建立。
我几乎没有疑问/怀疑:
答案 0 :(得分:0)
我认为一次性(一次性)部署所有应用程序是一个错误的决定。
我建议您在Git上使用继续集成(CI)并继续部署(CD)。
以GitHub为例,您可能会注意到许多项目正在使用travis continuous integration。它可以帮助他们在每个git push(或Pull请求)上运行所有测试,这样可以减少错误。
GitLab提供了一款易于使用和设置的完美免费CI and CD工具。
使用Gitlab CI和CD肯定有不同的方法,但您应该定义一些不同的阶段和作业来运行您的应用程序测试,然后使用SSH在您的服务器上运行部署脚本,您可以使用GitLab变量来定义您的服务器密码和其他信息,它们在那里是安全的。
你可以拥有一个受保护的分支(让我们说production
分支),只有你或其他一些受信任的开发人员可以在发生的每一个推送或合并操作上推送它。 {1}}分支,您已在GitLab CI和CD 工具上定义的production
作业将运行,并且在所有测试成功通过后,它将运行部署脚本。
显然,您的每个项目都应该有自己的存储库,这样可以更容易地在不同的时间部署每个项目。