问题标签 [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 回答
886 浏览

azure-devops - Azure DevOps YAML Pipelines 是否存在“失败时创建工作项”选项?

在 Azure Devops“经典”管道中,管道选项菜单中有一个部分,您可以在其中打开一项功能以在管道失败时自动创建工作项。但是,在新的 YAML 管道中,选项菜单中不存在此功能。此选项是否仍以某种方式可用,或者 YAML 管道不支持它?

0 投票
1 回答
104 浏览

azure - 使用批准和部署从 azure 管道到 azure 应用服务

我们正在创建一个使用 AzureRmWebAppDeployment@4 任务将代码部署到应用服务的 yaml 管道。

之前,我们部署到自己的虚拟机上,我们可以在 azure devops 中将虚拟机注册为环境,并将部署代理注册为资源。然后我们可以在环境中添加一个批准门,以确保需要批准才能部署到环境中。

现在使用 azure app services,似乎没有办法将 app service 注册为环境,所以我们没有 Environment 来设置审批门。

我们如何为我们的应用程序的部署添加批准?我很难相信应用服务是不可能的。

0 投票
1 回答
58 浏览

azure-powershell - 内联 yaml 管道脚本单独工作,但不能一起工作

以下两个内联 yaml-pipeline powershell 脚本:

旨在采取这两条线

并将它们变成这两行(即在引号中加上新值)

(重置价值不同)

任何一个脚本本身都可以正常工作。但是当我一个接一个地尝试使用这两个脚本时,第二个值就搞砸了。

显然他们以某种方式相互干扰,但我不知道如何。有人可以告诉我我做错了什么吗?

0 投票
1 回答
200 浏览

azure - 如果不使用批准超时,Azure 管道将永远运行

我最近从经典版本转移到 YAML 发布管道。使用经典版本,我只需手动触发我感兴趣的部署(开发、集成、UAT 或生产)。

但是,对于 YAML 管道,我使用阶段,它们在构建后自动触发。为了防止这种情况发生,我在集成阶段添加了批准保护,如下所示。

在此处输入图像描述

然而,管道无限期地运行,永远不会结束。所以我在批准时设置了 5 分钟的超时时间,现在如果没有人批准,集成阶段将被标记为已跳过。

我觉得我的做法不对,因为它与经典版本完全不同。

这是使用 YAML 时处理发布管道的正确方法吗?

在此处输入图像描述

0 投票
1 回答
100 浏览

azure - Azure YAML 管道:动态查找组中的变量

我有一个 Powershell 脚本,在发布阶段在我的 YAML 管道中执行。

我可以使用$(myVar). 但是现在我需要在给定名称的情况下动态引用一个变量。

例如,如果我有字符串“myVar”,我想在变量组中搜索名为“myVar”的变量并获取它的值。

这有可能实现吗?

0 投票
2 回答
1373 浏览

azure-devops - 为什么天蓝色构建管道不为角度构建生成 dist 文件夹

在我可以运行任何其他任务 dist 文件夹之前,似乎在构建期间生成的文件夹已被删除。

我也尝试在

0 投票
1 回答
302 浏览

azure - Azure DevOps yaml 管道部署:“不支持提供程序阶段”

带有部署作业的 Azure DevOps yaml-pipeline失败并出现错误Provider phase is not supported

我究竟做错了什么?

Azure DevOps 服务器版本Dev17.M153.5

在此处输入图像描述

0 投票
1 回答
197 浏览

azure-devops - ADO 管道 - 如何在运行时评估变量组的值

我有一个变量组,我想在其中运行一个表达式。也就是说,我想在运行时计算变量组的变量内容。

Variables_General 有一个名为 isMain 的变量,其内容为$[contains(variables['Build.SourceBranch'], 'refs/heads/develop')]

但这并没有按预期工作。我尝试了各种双引号组合,使用 $[] 和 $()。我已经在变量值和变量引用方式中都试过了。它做两件事之一,说它不期望“$”或只是检测到变量有内容,因此是“真”

在运行时评估变量组的变量值中的代码的正确方法是什么?

0 投票
1 回答
129 浏览

yaml - 在具有多阶段管道的 Azure DevOps 中,如何手动部署到环境中?

我目前有一个单独的构建和部署管道。

SysTest 部署会自动触发。

我手动部署到我喜欢的 QA(见下文)。

在此处输入图像描述

我正在尝试将此过程升级为多阶段管道。

但是,我找不到手动部署到 QA 的方法。最好的方法是审查和批准部署到 QA。(见下文)这不是我真正想要的。

有没有办法手动部署到多阶段管道中的环境?

在此处输入图像描述

任何帮助,将不胜感激。

0 投票
1 回答
1881 浏览

azure-devops - 在 Azure DevOps 中动态访问 Key Vault 机密变量

我有一个带有不同密钥(例如 Key1、Key2、Key3)的 Azure Key Vault。在某些设置中,在一个管道任务中动态读取,我有值说明要使用哪个键(让 KeyName 变量为“Key2”)。如何读取管道中 Key2 的秘密值?

我尝试了不同的组合,但没有一个对我有用。

测试管道编号 1 - 使用连接到 Key Vault 的组变量(为方便起见,这里的 KeyName 是静态的,但实际上,它是在管道期间通过 powershell 脚本设置的):

结果是:

MyValue 不起作用,因为在加载密钥保管库变量之前对变量进行了评估。并且当在管道期间设置 KeyName 时,它​​也将不起作用(但这可以通过使用单独的作业和使用输出变量来设置 KeyName 来解决 - 就像在测试示例 2 中一样)。表达式 $($(KeyName)) 不起作用,因为它不会递归地扩展变量(错误?)。

同样的问题是当 AzureKeyVault 任务用于读取 Key Vault 值时,因为它被触发得太晚了。

测试编号 2 - 两个独立的工作: 我使用了 2 个作业 - 一个读取密钥库和密钥名称(作业 A),第二个读取其余作业(作业 B)。问题是,没有办法从作业 B 访问作业 A 上加载的密钥保管库机密值。我只能通过 dependencies.JobA 使用作业 B 中作业 A 的输出变量...但是任务 AzureKeyVault没有将值导出为输出变量。为此,我需要使用例如 Powershell 任务,但在这种情况下,我需要将秘密值作为环境变量映射到 powershell 任务中,但这意味着我将失去我需要的动态部分,因为它将是静态的映射(我需要能够添加/删除密钥库中的值而无需更改管道)。这是不行的,或者我不知道如何在不使用输出变量的情况下访问作业之间的秘密变量。

问题: 当 Key2 保存为变量值 KeyName 并在管道期间加载时,如何从键“Key2”中读取安全值?