部署生产 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
并且您可以定义自定义任务,例如 gulp
或 webpack
task('build:gulp', function () {
}
阅读文档here
P.S。确保服务器可以访问存储库:)
我已经使用 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
并且您可以定义自定义任务,例如 gulp
或 webpack
task('build:gulp', function () {
}
阅读文档here
P.S。确保服务器可以访问存储库:)