我正在开发一个部署脚本,它会执行一些额外的任务。这些任务需要一些敏感的密码,所以我考虑使用Laravel .env变量来避免硬编码。是否可以在特使任务中使用我声明的.env变量?
发布于 2019-08-16 02:38:08
以下是使我能够正确使用特使的环境变量的方法:
@include('vendor/autoload.php');
@setup
$dotenv = new \Dotenv\Dotenv(__DIR__);
$dotenv->load();
@endsetup
@servers(['staging' => getenv('STAGING_SSH_HOST')])
## Get remote git status.
@task('git.status', ['on' => 'staging'])
echo "Fetching git status on staging environment ..."
cd {{ getenv('STAGING_ROOT') }}
git status
@endtask
drinke9提出的非常类似的方法对我不起作用,我必须使用这个特定的设置。
发布于 2019-06-24 00:05:26
@task('env')
db_name=$(cat .env | grep DB_USERNAME)
echo $db_name
@endtask
或
@include('vendor/autoload.php')
@servers(['web' => 'foot@xxx.xxxx.com'])
@setup
Dotenv\Dotenv::create(__DIR__)->load();
$db=$_ENV['DB_DATABASE']
@endsetup
@task('env')
echo {{$db}}
@endtask
https://stackoverflow.com/questions/38860913
复制相似问题