VSTS SSH任务使用STDERR

时间:2018-01-18 20:07:12

标签: azure-pipelines-build-task

我正在使用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 '\015' <"./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 ...

1 个答案:

答案 0 :(得分:0)

事实证明,许多unix命令使用stderr来显示进度。

解决方案是忽略stderr输出:

dos2unix sync_mongo.sh 2> /dev/null
sh ./mongosync.sh 2> /dev/null