3

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

envoy run Deploy  --serveruser_password=mypass1112233

在特使文件中:

@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)如果在命令中设置了 serveruser_password

envoy run Deploy  --serveruser_password=mypass1112233

2)或者它是空的

envoy run Deploy

但我预计“未定义”输出......

为什么会出错以及如何正确?

4

1 回答 1

3

试试下面的。

@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

请确保您的宏被命名为“部署”而不是“部署”。此外,在您的 echo 语句中,使用花括号来回显您设置的变量。输出将如下所示。

$ 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.
于 2019-07-07T05:29:51.967 回答