【问题标题】:Right way to make deploy to production部署到生产环境的正确方法
【发布时间】:2019-04-15 15:56:55
【问题描述】:

Symfony documentation 表示将 /public/build 文件夹保留在 .gitignore 中

所以当我推送我的文件时,生产中没有构建文件夹,所以我需要构建资产。

但文档还说资产需要在开发服务器上构建。

所以,我需要您就正确的部署方式提出建议。

1) 用 git 推送构建文件夹?

2) 在生产环境中安装yarn、nodeJs 并在git pull 之后部署?

谢谢。

【问题讨论】:

    标签: git symfony deployment


    【解决方案1】:

    第二个。第一个对我来说总是很奇怪,我通常不想将构建文件推送到 git,就像我不推送我的供应商目录一样。

    除了奇怪之外,你还有用于 encore 的 dev 和 prod 配置,所以你必须注意 olny push prod 编译。 (例如:源地图)

    另一个问题是资产版本控制 (https://symfony.com/doc/current/frontend/encore/versioning.html)。由于文件名正在更改,您将在更改日志中生成不必要的元素。如果您与团队合作,这也可能会产生 git 冲突。

    【讨论】:

      【解决方案2】:

      有 3 种方法可以做到这一点。 (Symfony 推荐这些。)

      1-) 你应该有一个构建服务器。此外,您可以使用 scp 或工具发送构建的文件,这些工具有助于移动文件。 (适用于大型复杂项目。)

      2-) 您可以在您的开发机器上构建生产环境,并且您应该移动构建的文件。

      3-) 你可以在生产机器上安装 npm 或 yarn。但就个人而言,这是不必要的。这个选项是最后推荐的。

      目前,我更喜欢第二种选择。你应该看这个视频:)

      https://symfonycasts.com/screencast/webpack-encore/production-build

      【讨论】:

        【解决方案3】:

        我将在本地构建文件并由 Ansible 部署。 谢谢大家。

        【讨论】:

          猜你喜欢
          • 2015-11-13
          • 1970-01-01
          • 2012-08-03
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多