Capistrano:存储Laravel的数据库密码

Capistrano:存储Laravel的数据库密码,laravel,capistrano,capistrano3,Laravel,Capistrano,Capistrano3,我使用capistrano作为基于Laravel的应用程序的部署工具。存储所有服务器凭据的.env文件是在部署过程中创建的。下面是构建逻辑(deploy.rb)的概述 正如您所看到的,数据库密码存储在文件本身中,这不是一种安全的方式。如何将密码分开?我是capistrano和ruby的新手。您可以使用一些机制 我首先考虑的是使用Link文件。差不多 append :linked_files, '.env' 在您的config/deploy.rb中,将导致部署目录内的文件链接到部署目录外的sha

我使用capistrano作为基于Laravel的应用程序的部署工具。存储所有服务器凭据的.env文件是在部署过程中创建的。下面是构建逻辑(deploy.rb)的概述


正如您所看到的,数据库密码存储在文件本身中,这不是一种安全的方式。如何将密码分开?我是capistrano和ruby的新手。

您可以使用一些机制

我首先考虑的是使用Link文件。差不多

append :linked_files, '.env'
在您的
config/deploy.rb
中,将导致部署目录内的文件链接到部署目录外的
shared/config/deploy.rb
。您可以手动设置该文件,然后在部署时让Capistrano链接到它

其次,您可以将环境变量添加到系统中,只需读取它们,即可完全跳过
.env
文件

最后,您可以在存储库中创建一个新的YAML文件,也许可以忽略它,然后读取密码。这将起作用,因为读取Capistrano配置的逻辑在部署的计算机上本地运行

append :linked_files, '.env'