小编Zam*_*Zam的帖子

防止拉取请求构建触发持续部署触发器 Azure DevOps 服务器

TL; 博士

我们希望阻止 Azure Devops 中的 Pull Request 分支策略构建通过该Continuous deployment trigger机制触发发布。

问题

我们目前是 Azure DevOps Server 2019 版本 Dev17.M153.3 的用户

我们同时使用构建和发布管道。当用户提交一个 Pull Request 时,我们有一个Branch Policy将构建排队以确保代码编译和任何测试通过的。此构建的完成会触发Continuous deployment trigger我们在相应版本的构建工件上配置的 - 这对我们来说不是理想的行为。

我们的理想行为是让分支策略构建通过拉取请求排队,不会触发Continuous deployment trigger发布,因此不会排队发布。Continuous deployment trigger如果我们手动将构建排入队列,我们只想通过 触发发布。我们永远不希望这种情况发生在基于Pull Request.

我们曾尝试在Build branch filters中使用Continuous deployment trigger,但没有成功。我试过设置此使用Exclude和设置Build branchpull/*refs/pull/*merge但还没有与这些过滤器运气好的话,释放仍在排队。

我想知道是否有更好的方法来处理这种情况,或者是否可以向 中添加额外的过滤器Continuous deployment trigger以减少不需要的发布排队。

git powershell azure-devops azure-pipelines

6
推荐指数
1
解决办法
2727
查看次数

Azure DevOps 通过 REST API 获取链接到工作项的提交

有没有办法让只给定工作项 ID 的 Git 提交链接到工作项?

在此处输入图片说明

我正在使用 PowerShell 和URI 来获取工作项,但在返回的对象上没有看到任何链接提交。我也没有看到任何关于如何获取这些链接的文档。

$Results = Invoke-RestMethod -Uri "http://azuredevops/azuredevops/Collection/Project/_apis/wit/workitems?api-version=5.1&ids=1" -Method "GET" -UseDefaultCredentials | Select-Object -ExpandProperty Value
$Results.fields
Run Code Online (Sandbox Code Playgroud)

git rest powershell azure-devops azure-devops-rest-api

5
推荐指数
1
解决办法
730
查看次数

有没有办法使用 Pester 测试/断言来自 Write-Host 的输出?

我正在为一个相当复杂的脚本编写测试,脚本中有一个特定的函数可以向用户输出不同系列的日志消息。我想断言是否正在显示特定的日志消息。

主要问题是我不知道什么参数隐式处理我传递Write-Hostcmdlet的文本。

这是一些代码,它们捕捉了我正在尝试做的事情的前提......

测试功能

function TestFunction($TestInput) {
    if ($TestInput -contains 1) {
        Write-Host "TestInput contains a 1"
    }

    if ($TestInput -contains 3 ) {
        Write-Host "TestInput contains a 3"
    }

    if ($TestInput -contains 4 ) {
        Write-Host "TestInput contains a 4"
    }
}
Run Code Online (Sandbox Code Playgroud)

纠缠测试

Describe "TestFunction" {
    It "should call Write-Host with appropriate message if 1 or 3 is passed" {
        Mock Write-Host {}
        TestFunction -TestInput @(1, 2, 3)
        Assert-MockCalled Write-Host -Exactly 2 -Scope It
        Assert-MockCalled Write-Host -Exactly …
Run Code Online (Sandbox Code Playgroud)

powershell pester

3
推荐指数
1
解决办法
1435
查看次数

查询关闭事件 1074 时,使用 Get-WinEvent / Get-EventLog 进行事件日志查询非常慢

我正在编写一个 PowerShell 脚本,该脚本需要能够查询System事件日志并查找事件 ID 为 1074 的事件(表明关闭)。

为此,我使用了以下代码,但是,我注意到,在具有较大System事件日志的服务器上运行代码时,该命令需要很多秒才能完成。

Get-WinEvent -LogName 'System' | Where-Object { $_.Id -eq 1074 }
Run Code Online (Sandbox Code Playgroud)

有没有办法提高这段代码的性能?

windows powershell

2
推荐指数
1
解决办法
4683
查看次数