正确部署到生产的正确方法

时间:2018-11-12 21:38:11

标签: git symfony deployment

Symfony documentation说将/ public / build文件夹保留在.gitignore

因此,当我推送文件时,生产环境上没有构建文件夹,因此我需要构建资产。

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

因此,我需要您提供有关正确部署方式的建议。

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

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

谢谢。

3 个答案:

答案 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部署。 谢谢大家。