VSTS中的SSH任务显示错误,即使它只是记录

时间:2017-11-03 21:13:35

标签: r azure ssh azure-devops ubuntu-16.04

我目前正致力于在Azure中自动配置Ubuntu VM,并使用shell脚本,Rcode和VSTS管道在其上自动部署R-Studio。一切顺利,但有一件事一直困扰着我,它是VSTS Release管道中的输出。我正在运行R代码来安装R-packages并且它们安装正常而没有任何错误,但是VSTS中的输出日志显示如下(这是重新运行,其中R-packages已经安装并且是期望的行为):

Rscript /home/analytics/Final_process/r_setup.r
2017-11-03T19:17:54.9719684Z ##[error]------------------------------------------------------------------------------
2017-11-03T19:17:54.9719684Z Please library(dtplyr)!
2017-11-03T19:17:54.9719684Z ##[error]data.table + dplyr code now lives in dtplyr.
2017-11-03T19:17:54.9719684Z Please library(dtplyr)!
2017-11-03T19:17:54.9719684Z ##[error]------------------------------------------------------------------------------
2017-11-03T19:17:54.9719684Z Attaching package: ‘dplyr’
2017-11-03T19:17:54.9719684Z Attaching package: ‘dplyr’
2017-11-03T19:17:54.9719684Z     between, first, last
2017-11-03T19:17:54.9719684Z ##[error]The following objects are masked from ‘package:data.table’:
2017-11-03T19:17:54.9719684Z     between, first, last
2017-11-03T19:17:54.9719684Z     filter, lag
2017-11-03T19:17:54.9719684Z ##[error]The following objects are masked from ‘package:stats’:
2017-11-03T19:17:54.9719684Z     filter, lag
2017-11-03T19:17:54.9719684Z     intersect, setdiff, setequal, union
2017-11-03T19:17:54.9719684Z ##[error]The following objects are masked from ‘package:base’:
2017-11-03T19:17:54.9719684Z     intersect, setdiff, setequal, union
2017-11-03T19:17:55.4719651Z Attaching package: ‘lubridate’
2017-11-03T19:17:55.4719651Z Attaching package: ‘lubridate’
2017-11-03T19:17:55.4719651Z     hour, isoweek, mday, minute, month, quarter, second, wday, week,
2017-11-03T19:17:55.4719651Z     yday, year
2017-11-03T19:17:55.4719651Z ##[error]The following objects are masked from ‘package:data.table’:
2017-11-03T19:17:55.4719651Z     hour, isoweek, mday, minute, month, quarter, second, wday, week,
2017-11-03T19:17:55.4719651Z     yday, year
2017-11-03T19:17:55.4875612Z     date
2017-11-03T19:17:55.4875612Z ##[error]The following object is masked from ‘package:base’:
2017-11-03T19:17:55.4875612Z     date
2017-11-03T19:17:55.5344765Z ##[error]------------------------------------------------------------------------------
2017-11-03T19:17:55.5344765Z If you need functions from both plyr and dplyr, please load plyr first, then dplyr:
2017-11-03T19:17:55.5344765Z library(plyr); library(dplyr)
2017-11-03T19:17:55.5344765Z 
2017-11-03T19:17:55.5344765Z ##[error]You have loaded plyr after dplyr - this is likely to cause problems.
2017-11-03T19:17:55.5344765Z If you need functions from both plyr and dplyr, please load plyr first, then dplyr:
2017-11-03T19:17:55.5344765Z library(plyr); library(dplyr)
2017-11-03T19:17:55.5344765Z ##[error]------------------------------------------------------------------------------
2017-11-03T19:17:55.5344765Z Attaching package: ‘plyr’
2017-11-03T19:17:55.5344765Z Attaching package: ‘plyr’
2017-11-03T19:17:55.5344765Z     here
2017-11-03T19:17:55.5344765Z ##[error]The following object is masked from ‘package:lubridate’:
2017-11-03T19:17:55.5344765Z     here
2017-11-03T19:17:55.5500632Z     arrange, count, desc, failwith, id, mutate, rename, summarise,
2017-11-03T19:17:55.5500632Z     summarize
2017-11-03T19:17:55.5500632Z ##[error]The following objects are masked from ‘package:dplyr’:
2017-11-03T19:17:55.5500632Z     arrange, count, desc, failwith, id, mutate, rename, summarise,
2017-11-03T19:17:55.5500632Z     summarize
2017-11-03T19:17:55.5657235Z Attaching package: ‘sfsmisc’
2017-11-03T19:17:55.5657235Z Attaching package: ‘sfsmisc’
2017-11-03T19:17:55.5657235Z     last
2017-11-03T19:17:55.5657235Z ##[error]The following object is masked from ‘package:dplyr’:
2017-11-03T19:17:55.5657235Z     last
2017-11-03T19:17:55.5657235Z     last
2017-11-03T19:17:55.5657235Z ##[error]The following object is masked from ‘package:data.table’:
2017-11-03T19:17:55.5657235Z     last
2017-11-03T19:17:55.6594438Z Attaching package: ‘zoo’
2017-11-03T19:17:55.6594438Z Attaching package: ‘zoo’
2017-11-03T19:17:55.6594438Z     as.Date, as.Date.numeric
2017-11-03T19:17:55.6594438Z ##[error]The following objects are masked from ‘package:base’:
2017-11-03T19:17:55.6594438Z     as.Date, as.Date.numeric

现在一切都会好的,除了它不断弹出##[error]消息,实际上它不是错误。如果日志将任何内容写入STDERR,我可以取消选中失败的选项,但我不相信这是一个解决方案,因为这样我可能会忽略真正的错误。

有没有其他人经历过这种情况?这是SSH任务中的错误还是我的R代码中的错误。

1 个答案:

答案 0 :(得分:0)

那些##error标识您的命令在标准错误上打印出来的内容。

解决方案:

  • 首先通过清理您正在使用的命令提供的输入来避免它们。也许您的输入脚本需要重新编写,而这些实际上是要修复的错误;

  • 评估stderr的内容是“警告”还是“错误”。在前一种情况下,您可以尝试抑制这些警告(例如 library(dplyr, warn.conflicts = FALSE);

  • 如果命令仍然成功但在标准错误上打印任何内容,最后一种方法是禁用"如果日志将任何内容写入STDERR"则失败。 VSTS任务的选项;