Symfony documentation说将/ public / build文件夹保留在.gitignore
因此,当我推送文件时,生产环境上没有构建文件夹,因此我需要构建资产。
但是文档还说资产需要在开发服务器上构建。
因此,我需要您提供有关正确部署方式的建议。
1)使用git推送构建文件夹?
2)在生产环境中安装yarn,nodeJs并在git pull之后部署?
谢谢。
答案 0 :(得分:1)
第二个。第一个似乎对我来说很奇怪,我通常从不希望将构建文件推送到git,就像我不推送供应商目录一样。
除了怪异之外,您还具有用于encore的dev和prod配置,因此您将必须注意olny push prod编译。 (例如:源地图)
另一个问题是资产版本控制(https://symfony.com/doc/current/frontend/encore/versioning.html)。由于文件名正在更改,因此将在更改日志中生成不必要的元素。如果您与团队合作,这可能还会产生git冲突。
答案 1 :(得分:1)
有3种方法可以做到这一点。 (Symfony推荐那些。)
1-)您应该有一个构建服务器。此外,您可以使用scp发送已构建的文件,也可以使用有助于移动文件的工具。 (用于大型和复杂的项目。)
2-)您可以在开发计算机上进行生产生产,并且应该移动已构建的文件。
3-)您可以在生产机器上安装npm或yarn。但就个人而言,这是不必要的。建议不要使用此选项。
就目前而言,我更喜欢第二种选择。您应该看这个视频:)
https://symfonycasts.com/screencast/webpack-encore/production-build
答案 2 :(得分:0)
我将在本地构建文件并由Ansible部署。 谢谢大家。