如何在 Laravel Envoy 脚本中设置密码?

How to set a password in a Laravel Envoy script?

在 Laravel 5.8 使用 envoy 我想在控制台命令中设置用户的密码,比如

envoy run Deploy  --serveruser_password=mypass1112233

在 envoy 文件中:

@setup
    $server_login_user= 'serveruser';
    $user_password = isset($serveruser_password) ? $serveruser_password : "Not Defined";


@endsetup


@task( 'clone_project', ['on'=>$on] )
    echo '$user_password password ::';
    echo $user_password;

但是 $user_password 在两种情况下输出都是空的: 1) 如果在命令

中设置了服务器user_password
envoy run Deploy  --serveruser_password=mypass1112233

2) 或为空

envoy run Deploy

但我预计 "Not Defined" 输出...

为什么会出错,如何正确?

试试下面的方法。

@setup
    $server_login_user = 'serveruser';
    $user_password = isset($serveruser_password) ? $serveruser_password : 'Not Defined';
@endsetup

@servers(['local' => '127.0.0.1'])

@macro('deploy')
    clone_project
@endmacro

@task('clone_project')
    echo 'The password is: {{ $user_password }}.';
@endtask

请确保您的宏被命名为“deploy”而不是“Deploy”。此外,在您的 echo 语句中,使用大括号来回显您的 set 变量。输出结果如下。

$ envoy run deploy --serveruser_password=mypass1112233

[127.0.0.1]: The password is: mypass1112233.

$ envoy run deploy
[127.0.0.1]: The password is: Not Defined.