问题标签 [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.

0 投票
2 回答
374 浏览

azure-devops - 由于 TypeError,包无法发布:无法读取 null 的属性“toLowerCase”

在我的天蓝色 devops 管道中。首先构建一个 conda 包并通过UniversalPackages@0任务发布。

构建和上传代码片段如下所示

Universal UniversalPackages 任务的错误如下所示

问题:

我该如何解决这个问题?

0 投票
2 回答
51 浏览

azure-devops - Azure devops 抱怨语法循环

我有一些语法问题,但看起来不错。我找不到错误

怎么了? 在此处输入图像描述

现在我使用这样的解决方案,但我不喜欢它

阶段:

  • 阶段:开发显示名称:开发工作:
    • 工作:部署步骤:
      • 模板:build.yml 参数:主题名称:'1'
      • 模板:build.yml 参数:主题名称:'2'
      • 模板:build.yml 参数:主题名称:'3'
0 投票
2 回答
349 浏览

azure-devops - Azure DevOps:${{ parameters.Key }} 和 ${{ parameters.Value }} 什么都不返回

我刚刚尝试执行此处提供的示例管道,${{ parameters.Key }} 和 ${{ parameters.Value }} 的回显没有打印任何内容。我确定我过去曾尝试过以下类似的方法,并且确实有效。可能是回归?

0 投票
1 回答
154 浏览

azure-devops - 合并 PR 后如何限制 Azure DevOps YAML 管道中的关联工作项?

我一直在将 Azure DevOps 中的构建/发布管道迁移到统一的 YAML 格式。一旦 PR 合并到主分支,除了与 CI 构建相关的工作项之外,一切都按预期工作。这是工作流程:

  1. 开发人员提出 PR 以将功能分支的更改合并到主分支
  2. PR 有一个构建策略,它针对测试环境执行 YAML 管道
  3. PR完成,将feature分支合并到master分支
  4. YAML 管道具有用于部署到更高环境的 CI 触发器

对于第 2 步,触发的构建会显示与 PR 关联的任何工作项:

在此处输入图像描述

但是,对于第 4 步,触发的 CI 构建会列出主分支中的所有工作项,而不仅仅是与 PR 关联的那些:

在此处输入图像描述

有没有办法只将与 PR 关联的工作项关联到 CI 构建,一旦特性分支合并到主分支就会触发?

0 投票
1 回答
517 浏览

azure-devops - 如何在 azure devop 管道中设置拉取请求和非拉取请求阶段的条件?

我正在学习使用 azure devop 的 yaml 管道。

在一个阶段,我把这个条件放在

基本上只在不是拉取请求时才运行这个阶段。但是,当我手动触发管道时,azure devop 决定跳过此操作。所以我添加了构建原因和 pullrequestId 作为变量然后输出它。

输出是:

我在想,当它不是由 PullRequest 触发时,$(System.PullRequest.PullRequestId) 应该为 null 或空字符串。看起来情况并非如此。文档说 PullRequestId 只有在拉取请求时才会被填充,但我真的不知道没有填充时的值是什么。至少看起来不是空的。

那么 buildreason 是 PR 或非 PR 运行而不是 PullRequestId 的可靠条件吗?

0 投票
0 回答
117 浏览

azure-devops-pipelines - 在 YAML 中访问请求内容 ${{ parameters.WebHookName}} 资源中的值,语法是什么?

我正在从 Azure DevOps 2020 中的服务挂钩触发我的管道,现在需要处理一些额外的数据。webhook 请求如下所示(简化示例):

我可以像这样访问顶层的内容:

我真正想要访问的是:

经过一些测试后,我得出结论,在示例“System.ChangedBy”中,这似乎是用点来处理 JSON 密钥的问题。

如果您知道如何从请求中访问我想访问的值,请您帮帮我。

谢谢,彼得。

0 投票
1 回答
26 浏览

azure-devops - 创建可以从另一个阶段或手动调用的阶段?

嗨,我有一个管道依赖挑战,并想出了许多可能的解决方案。我可以在实验室中全部尝试,但我想知道它们是否“在现场”工作良好,所以想知道是否有人尝试过它们?

我有 3 个阶段,每个阶段都有自己的 YML 文件。每个都是从主 YML 调用的,主 YML 是从主管道调用的。

“deploy.yml”生成大量输出环境变量,其中 4 个由“test.yml”使用“stageDependencies”语法消耗:

这很好用。

但是,我希望能够创建一个仅执行测试阶段的管道(以测试预先存在的网站)。这当然行不通,因为依赖dependsOn: Deploy_Stage。

我可以想到一些可能的解决方案:

  1. 无需依赖并使用 [stageDependencies...] 语法,而是将 MyWebSite 作为阶段之间的管道参数发送。(请注意,实际上参数不是 1,我只是简化以演示挑战。)如果这样做,测试人员会被提示填写(或从列表中选择)各种参数。但是,它确实在 Deploy_Stage 和 Test_Stage 之间建立了联系——我不知道这是否是件坏事?

  2. 将 Deploy_Stage 中的布尔参数传递给 Test_Stage,例如“CalledFromDeployStage”,然后在 Test_Stage 中执行以下操作:

这感觉有点笨拙。

  1. 创建一个名为“Test_Stage_Manual”的新 YML,让它提示各种参数,其余的保持原样。(如果我这样做,我可能会将作业放入他们自己的 YML 文件中,并从两个测试阶段调用该 YML。)

  2. 还有什么?

0 投票
1 回答
379 浏览

azure-devops - 无法使用动态创建的阶段运行模板化 yaml Azure Devops 管道

我的问题

我尝试创建模板化 yaml Azure Devops 管道:

这是我的模板:

但我收到此错误消息:

加载 YAML 构建管道时出错。数组必须至少包含一个元素。参数名称:阶段

好的,我像这样修改我的主脚本:

这次管道运行,但只有第一个作业。未加载模板。

我需要的

我能够让这个场景使用单个文件脚本,但我想让它使用模板化脚本。

是否支持此场景?我该怎么办?

谢谢

0 投票
0 回答
109 浏览

azure - 取消 Azure DevOps YML Pipelines 中的活动作业

当我单击 Azure DevOps YML 管道中的取消按钮时,管道显示为已取消,但作业继续工作。

我尝试通过 Azure DevOps REST API 取消作业的工作,如本指南中所示Azure DevOps 管道:取消队列中的多个待处理作业, 但作业继续工作

您能否写信告诉我如何取消多阶段 YML 管道中的构建。由于我的测试需要一个小时,并且当我看到日志中出现下降时,我希望有一个功能来取消构建并开始新的构建,而不是等待一个小时。

0 投票
1 回答
206 浏览

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项目中的管道运行它:

它工作正常。

所以我认为我的剧本没有问题。

我需要的

我不明白为什么它不起作用。我能做什么?

谢谢