问题标签 [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 - 在作业之间动态创建作业依赖关系
我试图弄清楚如何动态创建依赖项并根据条件运行作业。
这是我的管道的结构:
主要.yaml:
在 deployQA 中,我有一个单独的作业来复制构建工件,如果没有 deployQA 中的复制步骤,接下来的两个作业(deployApp1 和 deployApp2)将失败。
我想创建一个对job: copy for job: deployApp1的条件依赖,这样如果我部署到没有这种依赖关系的 Dev,它应该能够跳过。我已经尝试了不同帖子的不同解决方案,但没有任何运气。
我知道我是否可以为副本添加额外的阶段来解决我的问题,但我希望将副本作为 QA 阶段的一部分。
azure-devops - 在 azure devops 中运行 yaml 管道时出错
我正在使用带有自托管代理的 yaml 管道运行 java 代码,但它显示以下错误
##[错误]在池Winagentpool中找不到满足指定要求的代理:maven,Agent.Version -gtVersion 2.163.1
有人可以帮我解决这个问题,在此先感谢。
azure-pipelines - 多次访问输出变量会呈现空字符串
我正在尝试从多个连续阶段的一个阶段访问输出变量。
第一次访问变量时,我可以访问该值,但下次我尝试它是一个空字符串。
在下面的示例中B1打印'production'
但C1打印''
日志如下所示:
azure - 经典与 YAML 管道 - Azure Devops 中的批准和盖茨/检查
我们目前正在使用经典管道通过 Azure Devops 进行发布。
我们希望将其移至多阶段 YAML,因为这样可以更轻松地管理标准模板并更好地跟踪更改。
根据我们的分析,YAML 支持经典管道的大部分功能。
但是,“批准和盖茨”没有明确的信息。
参考这篇文章,它谈到了门,但似乎更多来自经典而不是 yaml 支持的版本的上下文
https://docs.microsoft.com/en-us/azure/devops/pipelines/release/approvals/?view=azure-devops
我们需要确认或澄清以下几点 -
- YAML 中不支持 post-approvals,因为它只支持 pre-approval 的接口
- 对于通过环境的 YAML,我们可以添加检查,但它们可以在多大程度上以与门相同的方式使用,我们不确定
- 我们可以像门一样设置重估、超时等吗?如果是,那么如何?
- 服务现在集成在 YAML 或任何警告中的工作方式是否相同 https://docs.microsoft.com/en-us/azure/devops/pipelines/release/approvals/servicenow?view=azure-devops
如果有人可以帮助澄清我们的疑问,那将有所帮助
python - YAML 管道无法将带有特殊字符的输入参数解析为 Python 任务
如何使用特殊字符(例如下面显示的字符)转义/处理括号/任意输入,以便我的 python 代码获得正确的字符串参数?
我有一个 YAML 管道,它将输入参数作为来自用户的字符串,并将该字符串作为参数提供给 Python 任务:
此输入参数适用于字母数字字符,但是当我输入具有左圆括号和右圆括号的字符串(例如 Foo(Bar))时,Python YAML 任务会打印错误:
/bin/sh: 1: 语法错误: "(" 意外
请注意,在 Python 脚本执行开始之前,管道日志中就出现了上述错误
成功输入字符串:FooBar
失败输入字符串:Foo(Bar)
我该如何处理,以便我的 Python 脚本获得正确的字符串?
Python脚本:
编辑:增加了更多的清晰度,并添加了 Python 脚本
azure-devops - Azure DevOps 管道构建名称基于不同存储库的分支
我们希望以包含日期和分支名称的方式命名我们的构建,以便在我们想要部署到我们的环境之一时可以轻松找到正确的工件。
我们有一个设置,其中有两个存储库:YAML 和 Code。管道位于 YAML 存储库中,我们想要构建和部署的代码位于代码存储库中。我已经设置了构建管道,以便在对代码存储库中的代码库进行更改时触发构建。但是,当构建被触发时,构建名称包含 YAML 存储库的分支名称。由于我们将此 repo 的主分支用于 CI 构建,因此构建的名称将类似于2021-01-01 103015 main。
这使得我们在部署时很难找到正确的工件,因为一切似乎都指向一个主分支。相反,我们希望构建名称与2021-01-01 103015 Feature1 一致,其中 Feature1 是代码仓库的分支。
这就是我们在 YAML 中设置构建名称的方式:
有没有办法在构建名称中获取代码仓库的分支名称?
azure-devops - 将管道“名称”的值获取到 Azure 管道中的 PowerShell 命令中
我azure-pipeline.yml
设置了一个特殊的神奇变量,称为name
导致设置管道名称。
我想在 PowerShell 脚本中使用此值将此值作为设置放入文本文件中。
name
是否可以在 PowerShell 脚本中获取 的值?如何?(这在任何地方都有记录吗?)
解决方法
似乎不可能得到特殊name
的东西,因此设置一个具有相同值的变量。
azure - 如果变量不等于 azure 管道 yaml 中的预期值,如何跳过模板?
我有一个 .yaml 文件
我创建变量有两个原因,
- 成为全球性的
- 我不希望它显示在用户的变量列表中
'command1'
我希望仅在变量值不是时才执行模板'none'
目前它没有跳过,即使变量内的值不是无,它也会继续执行它。
我使用的另一种 if 条件格式是
以上都不起作用
请帮助解决此问题。
variables - 如何设置队列时间变量等于预期值以在 azure 管道中执行模板
当我运行管道时,UI 显示特定字段以收集输入并根据条件运行模板。我正在尝试获取参数并将其转换为变量并在我的情况下使用它。
尝试根据条件运行模板。条件变量在队列时间通过 API 设置
无论设置的值如何,模板都不会执行environment
这是一个错误还是我做错了什么?