问题标签 [azure-yaml-pipelines]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
azure-devops - Azure Devops Yaml 管道变量(例如 Process.Clean)作用于一个阶段
我们需要在环境代理上运行 Selenium Grid。要启动 Selenium Grid,我们启动 PowerShell 脚本 StartSeleniumGrid.ps1。该 powershell 文件启动 Java 进程,即 Selenium Hub。默认情况下,任务执行后,由任务启动的所有进程都被代理杀死。在经典管道中,我们有一个阶段Process.Clean
设置为假。它对我们来说非常有效,我们的 Selenium Grid 开始很好。我们需要在早上启动它,让它运行并在晚上关闭。现在我们在 yaml 管道中需要同样的东西。我已经在经典管道中检查了此设置正在添加名为“PROCESS_CLEAN”的环境变量,其值为“false”。
我指定了名为“Process_Clean”的变量,它创建了相同的环境变量“PROCESS_CLEAN”,其值为“false”。但这并没有帮助。java进程被杀死了。
我们需要让它在 Windows 上工作。不幸的是,k8s 和其他一些容器解决方案目前不在考虑范围之内。
git - 如何从 Azure Pipelines YAML 中的多个 git 存储库中按标签提取?
我有一个 YAML 管道,它使用 YAMLcheckout
任务从多个 Azure Git 存储库中提取夜间构建。现在我们准备发布由该管道构建的产品版本。版本将是“2.1”。我的想法是为每个 repo 创建标签(“2.1.204”)和特定的“Release 2.1”分支,并将主线移到 2.2 版。
所以现在我必须创建一个“Release 2.1”管道,该管道将从这些存储库中提取代码,并使用我已应用于每个存储库的特定标签。
我该如何处理这个checkout
任务?我必须以其他方式吗?就此而言,我对 Git 或 YAML 管道不是很好,但这项任务落在了我身上,所以我必须学习。
这是我目前结帐的方式:
当我编辑 YAML 并输入-checkout
YAML 任务时,我得到以下选项,这些选项看起来都不像我想要的
azure-devops - AzDO ManualValidation 步骤在 YAML 管道中失败,没有解释原因
我正在转换为完整的 YAML AzDO 管道,并且需要等待对管道的某些阶段进行手动验证。将新的 ManualValidation 任务添加到无服务器作业中,但它立即失败,没有详细说明原因。我确实在那里添加了一个延迟任务(就像一个健全性检查以确保我的无服务器作业实际上运行成功),它运行良好。
这些是我正在使用的文档: https ://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/utility/manual-validation?view=azure-devops&tabs=yaml
我还加入了 GitHub 项目,只是为了确保任务仍然是版本 0(它是)。
关于为什么这可能会失败的建议和/或我可以在管道中获得更多关于它为什么失败的详细信息的方法?
azure - Azure YAML 部署非常慢
我正在使用 azure YAML 管道来部署我的 .Net 应用程序。通常,对于一台服务器,部署使用在 30 分钟内完成。
但是,在过去的三天里,部署需要将近 90 分钟。我的组织网络良好,在 Azure 状态检查管道处于咨询模式,并显示以下消息“预计高峰时段 macOS 托管管道的启动时间延迟最多 30 分钟”
Microsoft 最近是否有任何与 YAML 管道性能相关的更新?
powershell - Azure YAML 文件 powershell 脚本参数问题传递参数
我有一个 Azure 发布管道,它调用阶段文件(yml),该文件又调用作业文件(yml),然后调用 powershell 脚本来执行。我很难弄清楚为什么参数没有传递到 powershell 脚本中。以下是我的阶段文件(仅发布部分不起作用的文件):
上面的文件调用了execute-azure-powershell.yml,下面是代码:
用于 Azure Powershell 执行的 #Yaml 文件
以下是我的 addDNSArecord.ps1 文件:
每次我尝试运行管道时,我都会收到以下错误,现在我对传递参数的问题感到困惑,请对此提供任何帮助:message":"/Azure.Infra/Pipelines/Jobs/execute-azure- powershell.yml(第 77 行,第 34 列):意外符号:nicIdFromSqlJob}。位于表达式中的第 12 位:parameters.nicIdFromSqlJob}
azure - 在 Azure yml 管道中使用表达式作为缓存键的一部分
我想从位于步骤模板中的缓存步骤中的表达式创建一个缓存键。由于缓存是不可变的,我想每周或每月从一个干净的缓存开始。我的模板文件如下所示:
该表达式应该在一年中的每个星期给我一个不同的值,或者为简单起见,给我当前月份的数字。
我尝试了不同的表达方式,但都没有奏效。首先,我尝试将表达式放入无效的参数默认值中。然后我尝试像这样直接将表达式放在适当的位置:
这也不起作用。这也不是:
我猜运行时表达式在脚本上下文之外不可用。
我什至尝试在缓存之前的一步中设置环境变量:
并使用那些$(previousStep.COMPILER_CACHE_KEY_PREFIX)
也不起作用的东西。
如何将这样的表达式放入缓存键中?有可能吗?
yaml - Azure 管道 yaml 表达式
我是使用 yaml 编写管道的新手,偶然发现了“运行时和编译时表达式”。
我知道我应该使用${{}}
编译时表达式和$[]
运行时表达式,但是我在执行以下操作时遇到了问题:
现在我遇到了最后一个 if 语句的问题。我认为问题在于“branchName”在设置为“Build.SourceBranch”时是一个运行时变量,但在设置为给定参数时可能是一个编译时变量。
我正在尝试使用 yaml 吗?
我找不到一个例子,尝试类似的东西
azure-devops - 防止在 PR 更改时取消部署作业
我们有一个 Azure DevOps YAML 多阶段管道,在该管道中构建代码,然后将其部署到一系列环境中。部署是使用 Terraform 实现的。
IE
此管道用于 CI/CD 构建和 PR 构建。对于 PR 构建,部署阶段的唯一部分是terraform plan
在 TF 脚本上运行。
对于 PR,管道配置为在将更改推送到该 PR 时取消正在进行的构建。
我们看到的问题是,当更改被推送到 PR 并且正在进行的构建被取消时,有时会在terraform plan
步骤期间发生取消。这有时意味着terraform plan
不会释放所占用的 blob 租约。从那时起,需要手动干预(中断 blob 租约)才能使部署阶段成功运行。
我相信我们可以关闭如果推送更改会导致正在进行的 PR 构建被取消的设置。
但我想知道是否有一种方法可以将管道步骤标记为关键步骤 - 即如果取消构建,它应该运行到完成?
还有其他取消管道构建的方法,并且必须有其他不应中途取消的任务/步骤。这样的critical-task
设置也将涵盖这些情况。
azure-devops - AzureDevops:我们可以在 yaml 中将动态值作为服务连接传递吗
我有一个yaml。我需要根据另一个任务将服务连接传递给脚本/模板,该任务检索所有必需的订阅。问题是:我可以将动态值传递给服务连接吗?它给了我编译时错误。
我的代码如下:
所以在第二个任务中,我从我的参数传递订阅。
有人能帮我吗?
azure - 通过 python 脚本运行 Azure ML 管道的状态
我正在使用管道的其余端点从脚本运行我的机器学习管道。我需要知道管道的状态,如Running
、Finished
或Failed
。
我该怎么做?我已经尝试了几件事,但它不起作用?
我正在使用它来达到 ML Pipeline 的其余端点: