部署生产 Laravel 应用程序 Capistrano 环境符号链接

Deploy production Laravel app Capistrano environment symlinks

我已经使用 Capistrano 部署了一个 Rails 应用程序,在那里我学到了很多关于 Capistrano 的过程。使用 Capistrano 部署 Laravel 为 .env 文件设置 symlinks 有点困难。

部署在 Centos 8 上完成,但我无法正确设置最终的 .env 文件。我对 Laravel 有点陌生,所以对生产设置有点不确定。

我需要设置一个 symlink 还是只在 git 中有一个 .env.php 文件?我更愿意在服务器中保留一个文件,而不是在 git.

中保留这些详细信息

我已经尝试创建 symlinks

set :linked_files, "shared/config/.env"

和手动 link 创建

after :updated, :build do
  #execute :ln, "-sf #{shared_path}/config/.env #{deploy_to}/current/.env" 

但我觉得我走错了方向

我认为目的是将配置文件保存在 app/shared/config/.env 或 .env.php

但是在app/current/.env目录下设置一个symlink到shared/config/.env就很头疼了。将 env 文件呈现给 Laravel 的最佳方式是什么?

谢谢

我使用 deployer 进行部署,您所要做的就是配置 ssh 并将 ssh 密钥添加到您的服务器以自动进行身份验证。然后更改存储库 url 和主机名

laravel 食谱: https://github.com/deployphp/deployer/blob/master/recipe/laravel.php

回购 url:

set('repository', 'git@github.com:user/myproject.git');

主机名:

host('mydomain.com')->set('deploy_path', '/var/www/html');

最终部署:

dep deploy

并且您可以定义自定义任务,例如 gulpwebpack

 task('build:gulp', function () {
 }

阅读文档here

P.S。确保服务器可以访问存储库:)