【问题标题】:deploy front-end applications behind apache在 apache 后面部署前端应用程序
【发布时间】:2018-05-14 19:36:04
【问题描述】:

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

我有几个问题/疑问:

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

【问题讨论】:

  • 您有没有想过继续部署 (CD)?

标签: node.js angular jenkins devops rundeck


【解决方案1】:

我认为一次(一次)部署所有应用程序是一个错误的决定。

我建议您在 Git 上使用持续集成 (CI) 和持续部署 (CD)。

以 GitHub 为例,你可能会注意到很多项目都在使用travis continuous integration。它可以帮助他们在每个 git push(或 Pull 请求)上运行所有测试,并且会减少错误。

GitLab 提供完美且免费的CI and CD 工具,易于使用和设置。

使用 Gitlab CI 和 CD 肯定有不同的方法,但是您应该定义一些不同的阶段和作业来运行您的应用程序测试,然后使用 SSH 在您的服务器上运行部署脚本,您可以使用 GitLab 变量来定义您的服务器密码和其他信息,它们在那里是安全的。

并且您可以拥有一个受保护的分支(比如说 production 分支),并且只有您或其他一些受信任的开发人员可以推送到它,在 production 分支发生的每个推送或合并操作上,@您已经在 GitLab CI 和 CD 工具上定义的 987654325@ 作业将运行,并且在所有测试成功通过后,它将运行部署脚本。

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

【讨论】:

    猜你喜欢
    • 2014-12-06
    • 2021-12-14
    • 1970-01-01
    • 2018-12-27
    • 2020-03-13
    • 2019-03-28
    • 2014-06-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多