VSTS SSH 任务使用 STDERR
VSTS SSH tasks uses STDERR
我正在使用 VSTS 配置发布步骤以更新数据库并使用 SSH (https://docs.microsoft.com/fr-fr/vsts/build-release/tasks/deploy/ssh) 到 运行 我们的脚本以更新 mongodb。
脚本 工作正常 但不知何故所有输出都转到 STDERR。
运行: 内联脚本
参数:
cd /home/ubuntu/Project/root/Deploy
dos2unix sync_mongo.sh
sh ./mongosync.sh
步骤日志从这里开始:
2018-01-18T17:39:55.7603461Z dos2unix sync_mongo.sh
2018-01-18T17:39:55.7603748Z sh ./mongosync.sh
2018-01-18T17:39:55.7604695Z Trying to setup SSH connection to ********@****:22
2018-01-18T17:39:57.5259303Z Successfully connected.
2018-01-18T17:39:59.7115141Z tr -d '5' <"./sshscript_1516297195734" > "./sshscript_1516297195734._unix"
2018-01-18T17:40:00.0197880Z chmod +x "./sshscript_1516297195734._unix"
2018-01-18T17:40:00.2617249Z "./sshscript_1516297195734._unix"
2018-01-18T17:40:00.5124617Z ##[error]dos2unix:
2018-01-18T17:40:00.5124929Z
2018-01-18T17:40:00.5125475Z ##[error]converting file sync_mongo.sh to Unix format ...
事实证明,许多 unix 命令使用 stderr 来显示进度。
解决方案是忽略 stderr 输出:
dos2unix sync_mongo.sh 2> /dev/null
sh ./mongosync.sh 2> /dev/null
我正在使用 VSTS 配置发布步骤以更新数据库并使用 SSH (https://docs.microsoft.com/fr-fr/vsts/build-release/tasks/deploy/ssh) 到 运行 我们的脚本以更新 mongodb。
脚本 工作正常 但不知何故所有输出都转到 STDERR。
运行: 内联脚本
参数:
cd /home/ubuntu/Project/root/Deploy
dos2unix sync_mongo.sh
sh ./mongosync.sh
步骤日志从这里开始:
2018-01-18T17:39:55.7603461Z dos2unix sync_mongo.sh
2018-01-18T17:39:55.7603748Z sh ./mongosync.sh
2018-01-18T17:39:55.7604695Z Trying to setup SSH connection to ********@****:22
2018-01-18T17:39:57.5259303Z Successfully connected.
2018-01-18T17:39:59.7115141Z tr -d '5' <"./sshscript_1516297195734" > "./sshscript_1516297195734._unix"
2018-01-18T17:40:00.0197880Z chmod +x "./sshscript_1516297195734._unix"
2018-01-18T17:40:00.2617249Z "./sshscript_1516297195734._unix"
2018-01-18T17:40:00.5124617Z ##[error]dos2unix:
2018-01-18T17:40:00.5124929Z
2018-01-18T17:40:00.5125475Z ##[error]converting file sync_mongo.sh to Unix format ...
事实证明,许多 unix 命令使用 stderr 来显示进度。
解决方案是忽略 stderr 输出:
dos2unix sync_mongo.sh 2> /dev/null
sh ./mongosync.sh 2> /dev/null