在apache后面部署前端应用程序

时间:2017-11-30 19:01:56

标签: node.js angular jenkins devops rundeck

我有一个电子商务网站,在同一个域上有多个前端应用程序,其中3-4个应用程序是用Angular4编写的,2-3个应用程序是用Angular1.2编写的,很少有应用程序是纯TypeScript应用程序。所有申请都由NPM建立。

我几乎没有疑问/怀疑:

  • 我应该单独部署每个应用程序吗? (需要花费大量时间在每个环境中部署)。
  • 在部署环境时,我应该构建一次还是每次构建一次。 (生产服务器上的npm install / build可能会失败)。
  • 如何发布版本以及存储位置? (可能是git和git标签)
  • 我们有其他Java应用程序,并在jenkins中配置,它具有发布过程并且易于维护。我们怎样才能为前端应用程序提供相同的模式。

1 个答案:

答案 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作业将运行,并且在所有测试成功通过后,它将运行部署脚本。

显然,您的每个项目都应该有自己的存储库,这样可以更容易地在不同的时间部署每个项目。