在生产环境中部署发布的最佳实践

Ana*_*man 2 php deployment production web-deployment composer-php

我们的生产站点有超过 350 个正在运行的实例,因此即使是短时间关闭该站点也是一件大事。
我的问题:在将我们的代码推送到生产环境后,如果composer有任何更新,我们必须更新它,在此期间网站将关闭。那么,在生产环境中更新 Composer 而又不会在更新时关闭网站的最佳实践是什么?

far*_*oft 5

我建议使用这种方法来实现几乎零停机时间:Web 服务器的根目录必须只是一个符号链接。

  • 为每个版本创建一个新目录并将文件上传到其中。
  • 安装您的依赖项。
  • 运行您的测试。
  • 创建一个符号链接作为指向新发布目录的 Web 服务器的根目录。

因此,您无需关闭网站即可将文件直接复制并上传到根目录。只需使用符号链接即可。通过这种方式,回滚到任何旧版本也变得更加容易。