问题标签 [azure-pipelines-yaml]

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 回答
239 浏览

azure-devops - Azure DevOps Server 2019 on-prem 是否支持来自另一个存储库的 yaml 模板?

我将开始与我的其他问题完全相同(如何在 Azure DevOps Server 2019 on-prem 中使用 yaml 模板参数?) - 根据https://docs.microsoft.com/en-us/上的官方文档azure/devops/pipelines/process/templates?view=azure-devops-2019 Azure DevOps Server 2019 on-prem 支持一切。

特别是,从另一个存储库引用 yaml 模板。但是,尝试在实践中使用它会失败:

在此处输入图像描述

这是我的 yaml 模板:

我是不是做错了什么,或者这又是一个误导性文件的案例?

0 投票
1 回答
3335 浏览

azure-devops - 如何在 Azure Devops Pipeline Task 中设置首选的 powershell 版本?

我有一个带有任务组 $TASKGROUP 的 Azure Devops Pipeline $PIPELINE,并且该任务组中的一个操作是 powershell 任务 $TASK(一个powershell 任务,而不是 AzureCloudPowerShellDeployment 任务或 AzurePowershell 任务,它们是不同的并且有答案这个问题)

我想在 powershell 5.1 下运行该任务,因为我正在运行的脚本中的某些功能需要它(主要是 $PSEdition,一些脚本的模块依赖项需要它)。但是,似乎没有任何方法可以强制使用特定版本的 powershell

如何强制 $TASK 使用 powershell 5.1 或更高版本运行?

0 投票
2 回答
3890 浏览

azure - Azure Devops Pipeline 中的变量组 yaml 变量表达式

我在使用 AzureKeyVault 任务的变量表达式时遇到了困难。azureSubscription 和 KeyVaultName 值表达式都没有被解析为在变量组中具有变量。如果我在 yaml 中以任何方式手动定义这些变量,它就会起作用。在我在阶段开始时导入的 azure-pipelines.yml 或模板 variables_test.yml 中。

我在文档中读到,变量组中的变量应该像这样 $(var) 使用,但是它会抛出一个错误,说像 '$(var)' 这样的订阅不存在。

模板:azure-pipelines.yml:

在登台的日志中,我可以看到从变量组中设置的变量:

需要注意的重要一点是,这些变量未设置为变量组中的机密。

PS。对于任何有兴趣的人。我创建了票:

https://github.com/MicrosoftDocs/vsts-docs/issues/7586

https://developercommunity.visualstudio.com/content/problem/949342/azuresubscription-serviceconnection.html

如果有任何事情会得到解决,我会发布答案。

0 投票
1 回答
993 浏览

python - 使用 azure 管道和诗歌,有没有办法避免在每个脚本中采购 ~/.poetry/env?

我目前使用下面的脚本来构建我的包并将其发布到私有 Azure Artifacts 源。在每个脚本中,我都必须运行该行source $HOME/.poetry/env,否则它找不到诗歌命令。

有没有办法消除这种重复?

完整脚本:

0 投票
2 回答
2172 浏览

azure-devops - 任务控制选项 - 自定义条件 - 在先前失败或超时时运行任务

是否可以设置自定义条件来测试上一个任务是否失败或超时?

目前,我正在使用Only when a previous task has failedwhich 在任务失败时有效。如果任务超时,则不会将其视为错误并被跳过。

那么我需要一个自定义条件,例如or(failed(), timedout()). 可能吗?

语境

我们在npm install找不到原因的任务中遇到了这个间歇性问题,但在下一次作业运行时解决了,所以我们正在寻找重试功能。部分解决方案是复制npm install并使用控制选项,但它不适用于所有“失败”情况。@Levi Lu-MSFT 提供的解决方案似乎可以满足我们的所有需求(它确实重试),但遗憾的是它没有解决问题,第二行重复任务也失败了。

示例错误:

或者

有时也超时

0 投票
1 回答
42 浏览

azure-devops - 如何使用 UI 变量扩展组变量?

我有三个构建管道,每个环境一个:Dev, QA, Prod. 我已经为每个环境定义了组变量 - group-Dev, group-QA, group-Prod. 每个构建管道都TestEnvironment为其各自的环境设置了一个变量。我正在尝试使用管道变量扩展组变量名称,但我无法让它工作。在编译时它无法评估组变量名称,我假设是因为它还不知道运行时变量值。

我想要的是这样的:

但是我可以让它工作的唯一方法是如果我对变量进行硬编码,即:env: QA. 我也尝试删除variablessection 和 setting group: 'group-$(TestEnvironment),但这也不起作用。

0 投票
2 回答
12218 浏览

azure - Azure Pipelines YAML:意外的值“变量”

我使用 Azure Pipelines 作为 Azure DevOps 的一部分。我正在尝试在模板文件中定义变量,因为我需要多次使用相同的值。

这是我的stage-template.yml

尝试使用此管道时,我收到一条错误消息:

/stage-template.yml(行:7,列:1):意外值“变量”

为什么这不起作用?我做错了什么?

0 投票
1 回答
1760 浏览

azure - Azure Pipelines YAML - 将变量组用于“部署 Web 应用”azureSubscription 输入时出错

我使用一个变量为我的各种环境定义了变量组,该变量board.subscription指定要在 WebApp 部署中使用的 Azure 服务连接。

部署作业引用了这些变量组:

然后在deploy.yml文件中使用变量:

但是,在对管道进行排队时,似乎在填充变量之前对表达式进行了评估,这会导致此错误:

当我使用文字值时,azureSubscription它工作正常。

问题:此评估是否可以延迟,或者是否有其他方法可以不在 YAML 文件中硬编码服务连接名称?

0 投票
1 回答
188 浏览

bash - 在 azure 管道中获取变量值的值

dev-acr-login 和 dev-acr-secret 是存储在 keyvault 中的秘密,用于 acr 登录和 acr 秘密。

在管道中,通过此任务获取秘密

此任务将创建名称为“dev-acr-login”和“dev-acr-secret”的任务变量

如果我想登录 docker 我不能这样做

以下代码有效,我可以登录到 acr。

以下不起作用。有没有办法可以使用变量名 $(acr-login) 和 $(acr-secret) 而不是来自 keyvault 的实际密钥?

0 投票
1 回答
588 浏览

azure-devops - 将 azure 管道 yaml 阶段排队以在特定日期时间执行

我们有一个多阶段发布管道,它针对所有环境,例如 dev->int->qa->prod-staging slot。对于插槽的最终交换,我们需要在非营业时间的指定日期时间运行。我们如何延迟多阶段 yaml 的特定阶段以在特定日期时间运行。