标签: azure-pipelines

如何有多个 foreach 迭代 azurepipeline yaml?

在azuredevops yaml管道中,我们可以嵌套forloop吗?或多个for循环。

我的要求是通过映射的变量值迭代管道,这应该跨环境完成。

例如:在我的 ADO 存储库中,每个应用程序有 10 个文件夹,每个应用程序中每个环境有 4 个不同的变量模板文件,即“vars-development.yaml、vars-staging.yaml、vars-prod.yaml、vars-dr” .yaml”

我需要的是在每个环境特定变量模板中,我需要有不同的警报规则输入(每个环境会有多个警报)。变量.development.yaml

variables:
  alert1:
     environment: development
     subscription: 'mysubscription'
     resourceGroup: myrg
     AlertRuleName: myalertrule
     query:myquery
     timeWindowInMinutes: 1    
     severity: 1
     operator: GreaterThanOrEqual
     threshold: 20
     
  alert2:
     environment: development
     subscription: 'mysubscription'
     resourceGroup: myrg
     AlertRuleName: myalertrule
     query:myquery
     timeWindowInMinutes: 1    
     severity: 1
     operator: GreaterThanOrEqual
     threshold: 20
     autoMitigate: false
     
etc.............

  alertn: 
Run Code Online (Sandbox Code Playgroud)

azure-pipeline.yaml

name: $(Build.SourceBranchName)-$(Build.BuildId)
trigger: none

parameters:
- name: appname
  type: string
  values:
    - app1
    - app2
    - app3
    - app4
    - app5
    - app5
stages:
  - template: …
Run Code Online (Sandbox Code Playgroud)

azure-pipelines azure-pipelines-release-pipeline azure-pipelines-yaml

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

扫描简单键时,无法找到预期的“:”。 azure-pipeline.yaml 中的语法错误

我正在尝试执行天蓝色管道。它执行得很好。但是当我添加一个任务来有条件地检查 pom.xml 文件是否存在时,我只需要执行该特定任务,但它失败了

在此输入图像描述

错误

在此输入图像描述

azure azure-devops azure-pipelines azure-aks azure-pipelines-yaml

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

Azure Devops Pipelines dotnet 发布任务忽略项目设置

我有一个包含几个 dotnet 项目的存储库,其中两个是 Web 项目,我需要指定要发布的项目。

我的 yaml 文件是:

trigger:
- master

pool:
  vmImage: ubuntu-latest

steps:
- task: DotNetCoreCLI@2
  inputs:
    command: 'publish'
    projects: '**/Squil.Web.csproj'
    arguments: '-o $(Build.ArtifactStagingDirectory)'

- task: PublishBuildArtifacts@1    
  displayName: 'Publish Artifact: web'
  inputs:
    PathtoPublish: '$(build.artifactstagingdirectory)'
Run Code Online (Sandbox Code Playgroud)

只要我只有一个 Web 项目,类似的东西就可以工作,但在将大多数 Blazor 相关内容分解到另一个项目中后Squil.Razor,它就不再起作用了:发布任务总是选择那个项目,即 Razor 类库。

我也尝试使用'Squil.Web'作为projects参数,但无论我在那里放什么,它都会被忽略。

我已经为此烦恼了好几个小时了。我发现了一个相关的问题,从中我得到了语法'**/Squil.Web.csproj',但这对我来说也不起作用。

我知道我可以使用 dotnet 命令行,但我宁愿使用该任务。

这是.NET 6。

还有什么可以尝试的?

.net azure-pipelines azure-pipelines-yaml

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

在 azure devops 中,如果代码覆盖率低于 70%,如何使管道失败

我们正在使用 springboot、Jacoco 和 azure devops,如果代码覆盖率低于 70%,我们需要中断管道,我如何使用 azure pipeline 来实现这一点。请建议。

jacoco azure-devops azure-pipelines azure-devops-server-2019

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

手动触发时找不到 Azure Synapse Pipeline

我在 Azure Synapse 中创建了一个管道,它在每个活动中执行一个简单的复制活动。

在此输入图像描述

当我使用调试测试管道时,管道运行成功。但是,在向管道添加触发器并将更改提交到 Azure DevOps 后,当我手动触发管道时,找不到管道。

在此输入图像描述

尽管使用了 Azure DevOps,但我还是被要求“发布”管道。将更改提交到 Azure DevOps 后是否需要执行额外的步骤来发布管道触发器?

azure azure-devops azure-pipelines azure-synapse

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

获取 Azure DevOps 管道中的具体任务版本

这是我的任务代码:

- task: PublishADFTask@1
  displayName: 'Publish Datafactory'
  inputs:
       // inputs there
Run Code Online (Sandbox Code Playgroud)

但最新版本有一个bug 1.*

这是在 azure devops yaml 管道中使用先前任务版本的方法吗?

我试过:

- task: PublishADFTask@1.27.1315
  displayName: 'Publish Datafactory'
  inputs:
       // inputs there
Run Code Online (Sandbox Code Playgroud)

但这不起作用

azure azure-data-factory azure-devops azure-pipelines

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

VSTS Minimatch模式排除.git文件夹

我正在使用VSTS和构​​建任务FTP上传.将文件和文件夹上载到我的FTP服务器时,.git文件夹也始终复制到服务器.我试图用文件模式排除.git文件夹,如下所示:

**
!(**/.git/**)
Run Code Online (Sandbox Code Playgroud)

我不知道为什么它不起作用但有没有办法用minimatch模式告诉任务明确排除文件夹?

minimatch azure-devops azure-pipelines-build-task azure-pipelines

0
推荐指数
1
解决办法
2046
查看次数

VSTS托管代理与私有代理

在部署方面,使用托管代理和私有代理有什么区别?

如果我错了,请纠正我-私有代理是一项私人托管的服务,它会不断检查是否有新的构建触发以对其配置定义执行的构建定义进行触发,然后从VSTS中提取源代码并在本地调用MSBuild那台机器。

如果在该构建定义中有要执行的PowerShell发布脚本,它也会运行该脚本-可以处理实际的部署等。

也许还有更多处理部署的方法,但是托管代理将如何工作?

为简单起见,让我们假设只要触发了新的构建,就应该将ASP.NET应用程序部署到IIS。

asp.net iis tfs azure-pipelines tfs2017

0
推荐指数
1
解决办法
1716
查看次数

通过API触发Azure Pipelines构建

我创建了一个有效的Azure管道来构建我的代码库。

寻找一种通过API(最好是REST)触发Azure Pipelines构建的方法。如果无法使用REST,也许我可以尝试使用各种资源ID通过Azure Functions调用构建。我希望自己的存储库监视器发出一个API请求,该请求将在满足我的条件时触发构建。另一个问题-是否可以通过API设置“管道变量”-例如,我进行API调用,将值用作管道变量的值,然后触发构建。

谢谢

azure azure-devops azure-pipelines azure-pipelines-release-task

0
推荐指数
1
解决办法
3628
查看次数

0
推荐指数
1
解决办法
260
查看次数