问题标签 [azure-devops-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 - 由于 TypeError,包无法发布:无法读取 null 的属性“toLowerCase”
在我的天蓝色 devops 管道中。首先构建一个 conda 包并通过UniversalPackages@0
任务发布。
构建和上传代码片段如下所示
Universal UniversalPackages 任务的错误如下所示
问题:
我该如何解决这个问题?
azure-devops - Azure DevOps:${{ parameters.Key }} 和 ${{ parameters.Value }} 什么都不返回
我刚刚尝试执行此处提供的示例管道,${{ parameters.Key }} 和 ${{ parameters.Value }} 的回显没有打印任何内容。我确定我过去曾尝试过以下类似的方法,并且确实有效。可能是回归?
azure-devops - 合并 PR 后如何限制 Azure DevOps YAML 管道中的关联工作项?
我一直在将 Azure DevOps 中的构建/发布管道迁移到统一的 YAML 格式。一旦 PR 合并到主分支,除了与 CI 构建相关的工作项之外,一切都按预期工作。这是工作流程:
- 开发人员提出 PR 以将功能分支的更改合并到主分支
- PR 有一个构建策略,它针对测试环境执行 YAML 管道
- PR完成,将feature分支合并到master分支
- YAML 管道具有用于部署到更高环境的 CI 触发器
对于第 2 步,触发的构建会显示与 PR 关联的任何工作项:
但是,对于第 4 步,触发的 CI 构建会列出主分支中的所有工作项,而不仅仅是与 PR 关联的那些:
有没有办法只将与 PR 关联的工作项关联到 CI 构建,一旦特性分支合并到主分支就会触发?
azure-devops - 如何在 azure devop 管道中设置拉取请求和非拉取请求阶段的条件?
我正在学习使用 azure devop 的 yaml 管道。
在一个阶段,我把这个条件放在
基本上只在不是拉取请求时才运行这个阶段。但是,当我手动触发管道时,azure devop 决定跳过此操作。所以我添加了构建原因和 pullrequestId 作为变量然后输出它。
输出是:
我在想,当它不是由 PullRequest 触发时,$(System.PullRequest.PullRequestId) 应该为 null 或空字符串。看起来情况并非如此。文档说 PullRequestId 只有在拉取请求时才会被填充,但我真的不知道没有填充时的值是什么。至少看起来不是空的。
那么 buildreason 是 PR 或非 PR 运行而不是 PullRequestId 的可靠条件吗?
azure-devops-pipelines - 在 YAML 中访问请求内容 ${{ parameters.WebHookName}} 资源中的值,语法是什么?
我正在从 Azure DevOps 2020 中的服务挂钩触发我的管道,现在需要处理一些额外的数据。webhook 请求如下所示(简化示例):
我可以像这样访问顶层的内容:
我真正想要访问的是:
经过一些测试后,我得出结论,在示例“System.ChangedBy”中,这似乎是用点来处理 JSON 密钥的问题。
如果您知道如何从请求中访问我想访问的值,请您帮帮我。
谢谢,彼得。
azure-devops - 创建可以从另一个阶段或手动调用的阶段?
嗨,我有一个管道依赖挑战,并想出了许多可能的解决方案。我可以在实验室中全部尝试,但我想知道它们是否“在现场”工作良好,所以想知道是否有人尝试过它们?
我有 3 个阶段,每个阶段都有自己的 YML 文件。每个都是从主 YML 调用的,主 YML 是从主管道调用的。
“deploy.yml”生成大量输出环境变量,其中 4 个由“test.yml”使用“stageDependencies”语法消耗:
这很好用。
但是,我希望能够创建一个仅执行测试阶段的管道(以测试预先存在的网站)。这当然行不通,因为依赖dependsOn: Deploy_Stage。
我可以想到一些可能的解决方案:
无需依赖并使用 [stageDependencies...] 语法,而是将 MyWebSite 作为阶段之间的管道参数发送。(请注意,实际上参数不是 1,我只是简化以演示挑战。)如果这样做,测试人员会被提示填写(或从列表中选择)各种参数。但是,它确实在 Deploy_Stage 和 Test_Stage 之间建立了联系——我不知道这是否是件坏事?
将 Deploy_Stage 中的布尔参数传递给 Test_Stage,例如“CalledFromDeployStage”,然后在 Test_Stage 中执行以下操作:
这感觉有点笨拙。
创建一个名为“Test_Stage_Manual”的新 YML,让它提示各种参数,其余的保持原样。(如果我这样做,我可能会将作业放入他们自己的 YML 文件中,并从两个测试阶段调用该 YML。)
还有什么?
azure-devops - 无法使用动态创建的阶段运行模板化 yaml Azure Devops 管道
我的问题
我尝试创建模板化 yaml Azure Devops 管道:
这是我的模板:
但我收到此错误消息:
加载 YAML 构建管道时出错。数组必须至少包含一个元素。参数名称:阶段
好的,我像这样修改我的主脚本:
这次管道运行,但只有第一个作业。未加载模板。
我需要的
我能够让这个场景使用单个文件脚本,但我想让它使用模板化脚本。
是否支持此场景?我该怎么办?
谢谢
azure - 取消 Azure DevOps YML Pipelines 中的活动作业
当我单击 Azure DevOps YML 管道中的取消按钮时,管道显示为已取消,但作业继续工作。
我尝试通过 Azure DevOps REST API 取消作业的工作,如本指南中所示Azure DevOps 管道:取消队列中的多个待处理作业, 但作业继续工作
您能否写信告诉我如何取消多阶段 YML 管道中的构建。由于我的测试需要一个小时,并且当我看到日志中出现下降时,我希望有一个功能来取消构建并开始新的构建,而不是等待一个小时。
azure-devops - 无法从 Yaml Azure Devops 管道运行脚本
运行脚本时,我的 Yaml Azure Devops 管道失败。
情况
我在Tuto-BuildDeploy存储库中有这个脚本:
这是我的 build.ps1 文件:
发生了什么事
我收到此错误消息:
##[错误]术语“D:\a\1\s\Tuto-Deploy\build.ps1”未被识别为 cmdlet、函数、脚本文件或可运行程序的名称。检查名称的拼写,或者如果包含路径,请验证路径是否正确并重试。
我测试了什么
我补充说:
检查 build.ps1 是否已下载。
我还尝试从Tuto-Deploy项目中的管道运行它:
它工作正常。
所以我认为我的剧本没有问题。
我需要的
我不明白为什么它不起作用。我能做什么?
谢谢