PHP 部署者:如何从主机设置中获取用户名

PHP Deployer: How to get user name from host setup

我正在尝试通过 php 部署程序部署我的代码,但我遇到了语法问题,即如何在 task 上重新使用 host user

例如,我想以动态方式将USERNAME替换为barfoo。不是硬编码。

谁能给我一个建议?很合适。

host('17.99.88.225')
     ->user('barfoo') // This is the server user name
     ->stage('production')
     ->set('deploy_path', '/SERVER_PATH/{{application}}')
     ->set('branch', 'develop');

...

task('upload:env', function () {
      runLocally('scp .env USERNAME@{{hostname}}:{{release_path}}/.env');
})->desc('Environment setup');

我只是自己想办法。我想在这里分享:

我需要做的就是设置一个新变量并在我的脚本中使用它。哈哈

set('username', 'nanomed1'); // set my own variable
...
task('upload:env', function () {

  $username = get( 'username');  // use the variable I created on the top

  runLocally('scp .env '.$username.'@{{hostname}}:{{release_path}}/.env');
})->desc('Environment setup');

就是这样!