deployer 部署程序时无法上传文件
windows环境下,Deployer无法上传文件
配置文件:
……
// 定义一个上传 .env 文件的任务
desc('Upload .env file');
task('env:upload', function() {
run('cd {{release_path}} && build');
// 将本地的 .env 文件上传到代码目录的 .env
upload(__DIR__.'\.env', '{{release_path}}/.env');
});
// 定义一个后置钩子,在 deploy:shared 之后执行 env:upload 任务
after('deploy:shared', 'env:upload');
……
报错如下:
[Symfony\Component\Process\Exception\ProcessFailedException]
The command "rsync -azP -e 'ssh -A -i E:\WorkSpace\deployerkey' "E:\WorkSpace\Php\NextPair\.env" "deployer@XXXX:/var/www/next_pair/releases/1/.env"" failed.
Exit Code: 1(General error)
Working directory: E:\WorkSpace\Php\NextPair
Output:
================
Error Output:
================
The source and destination cannot both be remote.
rsync error: syntax or usage error (code 1) at main.c(1068) [receiver=2.6.9]
目前卡在
rsync -azP -e 'ssh -A -i E:\WorkSpace\deployerkey' "localhost:E:\WorkSpace\Php\NextPair\.env" "deployer@XXXX:/var/www/next_pair/releases/1/.env"
会报上述错误
已搞定,windows由于rsync与ssh版本不兼容导致,需要使用安装rsync时自带的ssh命令行工具。以及注意路径需使用/cygdriver/E
表示E:\
盘符
推荐文章: