问题标签 [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.
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 模板:
我是不是做错了什么,或者这又是一个误导性文件的案例?
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 或更高版本运行?
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
如果有任何事情会得到解决,我会发布答案。
python - 使用 azure 管道和诗歌,有没有办法避免在每个脚本中采购 ~/.poetry/env?
我目前使用下面的脚本来构建我的包并将其发布到私有 Azure Artifacts 源。在每个脚本中,我都必须运行该行source $HOME/.poetry/env
,否则它找不到诗歌命令。
有没有办法消除这种重复?
完整脚本:
azure-devops - 任务控制选项 - 自定义条件 - 在先前失败或超时时运行任务
是否可以设置自定义条件来测试上一个任务是否失败或超时?
目前,我正在使用Only when a previous task has failed
which 在任务失败时有效。如果任务超时,则不会将其视为错误并被跳过。
那么我需要一个自定义条件,例如or(failed(), timedout())
. 可能吗?
语境
我们在npm install
找不到原因的任务中遇到了这个间歇性问题,但在下一次作业运行时解决了,所以我们正在寻找重试功能。部分解决方案是复制npm install
并使用控制选项,但它不适用于所有“失败”情况。@Levi Lu-MSFT 提供的解决方案似乎可以满足我们的所有需求(它确实重试),但遗憾的是它没有解决问题,第二行重复任务也失败了。
示例错误:
或者
有时也超时
azure-devops - 如何使用 UI 变量扩展组变量?
我有三个构建管道,每个环境一个:Dev
, QA
, Prod
. 我已经为每个环境定义了组变量 - group-Dev
, group-QA
, group-Prod
. 每个构建管道都TestEnvironment
为其各自的环境设置了一个变量。我正在尝试使用管道变量扩展组变量名称,但我无法让它工作。在编译时它无法评估组变量名称,我假设是因为它还不知道运行时变量值。
我想要的是这样的:
但是我可以让它工作的唯一方法是如果我对变量进行硬编码,即:env: QA
. 我也尝试删除variables
section 和 setting group: 'group-$(TestEnvironment)
,但这也不起作用。
azure - Azure Pipelines YAML:意外的值“变量”
我使用 Azure Pipelines 作为 Azure DevOps 的一部分。我正在尝试在模板文件中定义变量,因为我需要多次使用相同的值。
这是我的stage-template.yml
:
尝试使用此管道时,我收到一条错误消息:
/stage-template.yml(行:7,列:1):意外值“变量”
为什么这不起作用?我做错了什么?
azure - Azure Pipelines YAML - 将变量组用于“部署 Web 应用”azureSubscription 输入时出错
我使用一个变量为我的各种环境定义了变量组,该变量board.subscription
指定要在 WebApp 部署中使用的 Azure 服务连接。
部署作业引用了这些变量组:
然后在deploy.yml
文件中使用变量:
但是,在对管道进行排队时,似乎在填充变量之前对表达式进行了评估,这会导致此错误:
当我使用文字值时,azureSubscription
它工作正常。
问题:此评估是否可以延迟,或者是否有其他方法可以不在 YAML 文件中硬编码服务连接名称?
bash - 在 azure 管道中获取变量值的值
dev-acr-login 和 dev-acr-secret 是存储在 keyvault 中的秘密,用于 acr 登录和 acr 秘密。
在管道中,通过此任务获取秘密
此任务将创建名称为“dev-acr-login”和“dev-acr-secret”的任务变量
如果我想登录 docker 我不能这样做
以下代码有效,我可以登录到 acr。
以下不起作用。有没有办法可以使用变量名 $(acr-login) 和 $(acr-secret) 而不是来自 keyvault 的实际密钥?
azure-devops - 将 azure 管道 yaml 阶段排队以在特定日期时间执行
我们有一个多阶段发布管道,它针对所有环境,例如 dev->int->qa->prod-staging slot。对于插槽的最终交换,我们需要在非营业时间的指定日期时间运行。我们如何延迟多阶段 yaml 的特定阶段以在特定日期时间运行。