问题标签 [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.

0 投票
1 回答
280 浏览

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 和其他一些容器解决方案目前不在考虑范围之内。

0 投票
0 回答
42 浏览

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 并输入-checkoutYAML 任务时,我得到以下选项,这些选项看起来都不像我想要的

0 投票
1 回答
541 浏览

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(它是)。

关于为什么这可能会失败的建议和/或我可以在管道中获得更多关于它为什么失败的详细信息的方法?

0 投票
1 回答
124 浏览

azure - Azure YAML 部署非常慢

我正在使用 azure YAML 管道来部署我的 .Net 应用程序。通常,对于一台服务器,部署使用在 30 分钟内完成。

但是,在过去的三天里,部署需要将近 90 分钟。我的组织网络良好,在 Azure 状态检查管道处于咨询模式,并显示以下消息“预计高峰时段 macOS 托管管道的启动时间延迟最多 30 分钟”

Microsoft 最近是否有任何与 YAML 管道性能相关的更新?

0 投票
0 回答
690 浏览

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}

0 投票
1 回答
120 浏览

azure - 在 Azure yml 管道中使用表达式作为缓存键的一部分

我想从位于步骤模板中的缓存步骤中的表达式创建一个缓存键。由于缓存是不可变的,我想每周或每月从一个干净的缓存开始。我的模板文件如下所示:

该表达式应该在一年中的每个星期给我一个不同的值,或者为简单起见,给我当前月份的数字。

我尝试了不同的表达方式,但都没有奏效。首先,我尝试将表达式放入无效的参数默认值中。然后我尝试像这样直接将表达式放在适当的位置:

这也不起作用。这也不是:

我猜运行时表达式在脚本上下文之外不可用。

我什至尝试在缓存之前的一步中设置环境变量:

并使用那些$(previousStep.COMPILER_CACHE_KEY_PREFIX)也不起作用的东西。

如何将这样的表达式放入缓存键中?有可能吗?

0 投票
0 回答
67 浏览

yaml - Azure 管道 yaml 表达式

我是使用 yaml 编写管道的新手,偶然发现了“运行时和编译时表达式”。

我知道我应该使用${{}}编译时表达式和$[]运行时表达式,但是我在执行以下操作时遇到了问题:

现在我遇到了最后一个 if 语句的问题。我认为问题在于“branchName”在设置为“Build.SourceBranch”时是一个运行时变量,但在设置为给定参数时可能是一个编译时变量。

我正在尝试使用 yaml 吗?

我找不到一个例子,尝试类似的东西

0 投票
1 回答
112 浏览

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设置也将涵盖这些情况。

0 投票
2 回答
671 浏览

azure-devops - AzureDevops:我们可以在 yaml 中将动态值作为服务连接传递吗

我有一个yaml。我需要根据另一个任务将服务连接传递给脚本/模板,该任务检索所有必需的订阅。问题是:我可以将动态值传递给服务连接吗?它给了我编译时错误。

我的代码如下:

所以在第二个任务中,我从我的参数传递订阅。

有人能帮我吗?

0 投票
0 回答
58 浏览

azure - 通过 python 脚本运行 Azure ML 管道的状态

我正在使用管道的其余端点从脚本运行我的机器学习管道。我需要知道管道的状态,如RunningFinishedFailed

我该怎么做?我已经尝试了几件事,但它不起作用?

我正在使用它来达到 ML Pipeline 的其余端点: