部署到生产环境的正确方法
Posted
技术标签:
【中文标题】部署到生产环境的正确方法【英文标题】: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 之后部署?
谢谢。
【问题讨论】:
【参考方案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 部署。 谢谢大家。
【讨论】:
以上是关于部署到生产环境的正确方法的主要内容,如果未能解决你的问题,请参考以下文章