如何在vNext发布模板的部署日志中获取powershell脚本输出?
这篇博文是我发现的唯一一篇接近问题的文章,但它没有解释如何使用PS/DSC配置部署以使用verbose选项运行: 我可以获取此基于代理的发布模板来运行脚本:如何在vNext发布模板的部署日志中获取powershell脚本输出?,powershell,release-management,ms-release-management,Powershell,Release Management,Ms Release Management,这篇博文是我发现的唯一一篇接近问题的文章,但它没有解释如何使用PS/DSC配置部署以使用verbose选项运行: 我可以获取此基于代理的发布模板来运行脚本: Write-Debug "debug" Write-Output "output" Write-Verbose "verbose" Write-Warning "warning" 此版本的深入部署日志提供了一个包含以下行的日志: output WARNING: warning 如果在Arguments字段中添加-verbose,那么日
Write-Debug "debug"
Write-Output "output"
Write-Verbose "verbose"
Write-Warning "warning"
此版本的深入部署日志提供了一个包含以下行的日志:
output
WARNING: warning
如果在Arguments字段中添加-verbose,那么日志中还会出现一行“verbose:verbose”
这很好,但我需要访问系统变量($Stage、$BuildNumber等)。当我创建一个vNext模板来运行相同的脚本(说明如下:)时,日志报告:
Copying recursively from \\vsalm\Drops2\TestBuild\TestBuild_20130710.3 to c:\Windows\DtlDownloads\my vnext component succeeded.
很高兴这个复制操作成功了,但是我希望我的脚本的输出也在这个日志中。是否有人知道如何配置“使用PS/DSC部署”操作,以便版本管理捕获powershell脚本输出 对于vNext发布模板,如果希望在日志中看到powershell脚本输出,请尝试使用-Verbose开关编写Verbose
例如,
写详细的“一些文本”-详细的
请允许我无耻地插入关于这个主题的内容,因为我发现要得到一个能把所有事情都做好的脚本并不容易
以下脚本框架可确保在记录标准输出时不会出现空行,并且在出现第一个错误时停止处理,在这种情况下,错误详细信息和截至该点的标准输出都可以在MSRM中看到:
function Deploy()
{
$ErrorActionPreference = "Stop"
try
{
#
# Deployment actions go here.
#
}
catch
{
# Powershell tracks all Exceptions that occured so far in $Error
Write-Output "$Error"
# Signal failure to MSRM:
$ErrorActionPreference = "Continue"
Write-Error "Error: $Error"
}
}
pushd $Global:ApplicationPath
Deploy | Out-String | Write-Verbose -Verbose
popd
这只是最终的结果,可以找到其背后的解释。这是可行的,但我的发行版中有一个try/catch块,在这之后,没有更多的消息被写入,而该部分中的操作执行得很好。。。