gpt4 book ai didi

powershell - 如何使 TFS 2015 中的 PowerShell 任务的构建失败

转载 作者:行者123 更新时间:2023-12-04 00:41:31 24 4
gpt4 key购买 nike

我试图使 PowerShell 脚本中的某个结果使构建过程失败,但它对我不起作用。我正在使用来自 TFS 2015 的新构建操作并尝试了以下选项:

  • Logging commands
  • 导出 1

  • 我确实在该步骤的日志窗口中看到红色文本,并在构建概述中标记为“问题”,但构建结果仍然是绿色:“构建成功”

    我想使用脚本中的失败来使构建失败,从而使用失败构建的警报发送电子邮件。

    编辑:包括PS脚本:
    Param(
    [string]$url
    )

    if ($url -eq '')
    {
    #use default value
    $url = 'https://myurl.com'
    }

    $req = [system.Net.WebRequest]::Create($url)
    $req.Timeout = 60000 * 5 # = 5 minutes
    try
    {
    Write-Host "Try to get response from url:" $url
    $res = $req.GetResponse()
    Write-Host "Closing the connection"
    $req.Close() # close the connection
    }
    catch [System.Net.WebException]
    {
    Write-Host "Got an exception"
    Write-Host "##vso[task.logissue type=error;]Exception: " $_.Exception

    if ($_.response) # try to close the connection
    {
    $_.response.Close();
    }
    $res = $_.Exception.Response
    }
    $printCode=[int]$res.StatusCode

    Write-Host "Result StatusCode:" $res.StatusCode "(" $printCode ")"
    If ([int]$res.StatusCode -eq 200)
    {
    Write-Host "##vso[task.complete result=Succeeded;]Done"
    }
    Else
    {
    Write-Host "##vso[task.logissue type=error;]Test error: " $res
    Write-Host "##vso[task.complete result=Failed;]Error testing if demo site is up"
    exit 1
    }

    最佳答案

    我创建了一个非常简单的脚本:

     Write-Error ("Some error")
    exit 1

    将其另存为 PowerShell 脚本。创建一个新的 Empty Build 定义并仅添加一个指向您的脚本的 PowerShell 任务。当我这样做时,我得到一个失败的构建并出现以下错误:
    2015-12-30T10:27:29.4872452Z . 'C:\a\1\s\script.ps1' 
    2015-12-30T10:27:29.6780242Z Executing the following powershell script. (workingFolder = C:\a\1\s)
    2015-12-30T10:27:29.6790500Z C:\a\1\s\script.ps1
    2015-12-30T10:27:33.8017820Z ##[error]C:\a\1\s\script.ps1 : Some error
    2015-12-30T10:27:33.8027833Z ##[error]At line:1 char:1
    2015-12-30T10:27:33.8037819Z ##[error]+ . 'C:\a\1\s\script.ps1'
    2015-12-30T10:27:33.8037819Z ##[error]+ ~~~~~~~~~~~~~~~~~~~~~~~
    2015-12-30T10:27:33.8047816Z ##[error] + CategoryInfo : NotSpecified: (:) [Write-Error], WriteErrorException
    2015-12-30T10:27:33.8047816Z ##[error] + FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException,script.ps1
    2015-12-30T10:27:33.8057887Z ##[error]
    2015-12-30T10:27:33.8057887Z ##[error]Process completed with exit code 1 and had 1 error(s) written to the error stream.

    与您的脚本的主要区别在于将 Write-Error 与 exit 1 结合使用。

    关于powershell - 如何使 TFS 2015 中的 PowerShell 任务的构建失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34501891/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com