azure-sql-database - 一次运行单个 SQL 构建管道
问题描述
TLDR
我想一次只运行一个构建实例,该实例共享一个资源,一次只能处理一个执行,同时仍然能够在其他构建上一次运行多个代理。如果可能的话,另一个选项是在构建中运行 Azure SQL 数据库实例。
1.) 如何将共享资源的构建一次限制为 1 个代理?我一直在寻找一种命名的 azure 代理,它可以受到限制或添加某种一次只能使用一个的命名空间。
2.) 将 SQL 安装脚本作为构建管道的一部分进行测试的更好方法是什么。
细节
我在 Azure 中有几个构建管道和发布管道设置。我的管道之一是测试用于初始化数据库新实例的大型 SQL 脚本。这是使用Azure SQL Execute Query
任务执行的。运行 SQL 时遇到的任何错误都应该作为失败的构建返回到 Github。但是,当我将代理的数量从 1 个增加到 2 个时,我时不时会遇到一个问题,即在前一个完成之前触发构建。这打破了第一个构建。
这是我正在使用的代理
解决方案
如果我理解正确,请限制一个代理进行构建。您可以尝试以下步骤。
首先转到您的构建管道,编辑您的管道。指定管道的需求。然后管道将仅在满足需求的代理上运行。
例如,如果我指定如下图所示的要求。然后管道将仅在名为 agentname 的代理上运行。
您可以找到代理的详细功能并定义自定义功能。转到项目设置页面中管道下的代理池。选择您的代理池,选择您的代理并添加新功能以添加自定义功能。然后,您可以根据需要使用自定义功能。
更新:
在 yaml 风格的管道中,您可以通过定义vmImage来指定运行管道的代理,查看此处了解详细信息
pool:
name: string # name of the pool to run this job in
demands: string | [ string ] ## see below
vmImage: string # name of the vm image you want to use
您还可以尝试使用Azure Pipelines代理池,您可以在其中指定特定代理来运行您的管道。
希望您能从中受益。
推荐阅读
- c# - 在 C# 中使用 F# 泛型运算符
- if-statement - Highcharts 工具提示格式化程序功能不正确显示表中的值
- node.js - HTTP POST 谷歌云函数 NodeJS
- gitlab - 如何更改管道徽章名称
- r - 用总分类值标记 ggplot Geom_Bar
- angularjs - 登录AngularJS后重定向到个人资料页面
- kubernetes - Kubeflow Pipeline in serving model
- watson-knowledge-catalog - How does a customer connect WKC (cloud) to their on-prem data sources?
- xpath - How to use XPath to extract first three sentences from a paragraph?
- angular - Observables 的可观察数组 - 如何在 RxJS 中实现?