问题标签 [multistage-pipeline]

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

azure-devops - 根据提交消息跳过阶段

如果消息不是以给定文本开头,我正在尝试将 Azure DevOps 设置为跳过多阶段管道上的一个阶段。

示例文档中,我认为它只是

但是,无论如何都会执行此操作。这是一个示例,我希望根据提交消息https://dev.azure.com/trajano/experiments/_build/results?buildId=110&view=resultst1不运行任务

的输出env表明消息已正确传递

在此处输入图像描述

以防万一这是一个错误,我也在这里报告了它https://developercommunity.visualstudio.com/content/problem/697290/startswith-buildsourceversionmessage-variable-not.html

0 投票
1 回答
1047 浏览

azure-devops - 使用来自外部存储库的 ARM 模板

我正在使用 azure 多级管道,在单独的存储库中使用带有模板的部署作业。我目前开始在我的部署过程中使用 ARM 模板,并且还想运行位于不同存储库中的 ARM 模板。这是我有点卡住的地方,任何帮助/建议表示赞赏。

为了说明我的设置:

  • Repo A -> 必须构建并部署到 azure 的源代码
  • Repo B -> Azure 管道模板(仅包含 yml 文件)
  • 回购 C -> ARM 模板

所以我想要完成的是:A使用B使用C

REPO A:文档构建和发布 yml

REPO B:文档部署

REPO C:包含 arm 模板 + 参数文件

我面临的问题是我似乎无法访问 repo c 的文件。我尝试repository在多个级别上添加另一个条目,但它似乎根本没有克隆依赖仓库。

我目前的解决方法/解决方案:

使用 powershell 脚本手动克隆 repo C 并直接引用磁盘上的文件。

相关 github 问题:https ://github.com/microsoft/azure-pipelines-yaml/issues/103

0 投票
3 回答
1174 浏览

azure - Azure devops 多阶段 YAML 结合手动交互

我只是在阅读听起来很棒的多级管道。

据我了解,这些阶段相互依存,现在假设我有以下阶段

我不想在部署到acc. 首先我想看看,acc当我批准它应该部署到prd. 多阶段管道中有没有办法告诉不要自动运行阶段?例如手动运行一个阶段?或者我应该为生产创建一个新的管道?

0 投票
1 回答
84 浏览

azure - 更改多阶段管道中 1 阶段的存储库

我有一个 azure devops 多阶段管道,它需要 1 个阶段将文件从另一个存储库复制到$(build.artifactstagingdirectory)

例如我的 YAML 看起来像

此管道连接到存储库,该存储库可能由repo: self. 所以问题是,我可以为特定阶段更改此存储库吗?

0 投票
1 回答
2531 浏览

azure-devops - 如何从 Azure DevOps 中的 YAML 管道获取阶段结果

到目前为止,我一直在使用Azure DevOps REST Api从 Azure DevOps 中的版本中获取数据以进行报告。显然,这将随着如何使用 CI/CD --> YAML 和 Multi-Stage-Pipeline(当前预览)的新方式而改变。在这种情况下,不推荐使用构建和发布策略,并且将所有内容定义为管道并细分为分阶段(构建阶段、部署阶段 1、部署阶段 2,...)。
我尝试通过构建列表方法接收数据,但是这些数据是有限的,并且我缺少一些重要信息,例如“舞台是否成功”。

是否有人已经体验过 YAML Pipelines 和 Azure DevOps REST Api 的组合?有没有办法获取完整的数据(如经典发布策略)?还是它目前正在开发中,我必须耐心等待?

提前致谢!

0 投票
1 回答
609 浏览

azure-devops - 多阶段 YAML 管道不应用特定于环境的 XML 转换

我将在典型发布管道中执行的步骤转换为多阶段 YAML 管道。

问题是任务Web.config应用的(XML)转换AzureRmWebAppDeployment@4不再像以前那样工作。

这种行为的记录方法是首先发布配置用于转换,然后是特定于环境的配置。

从日志中我可以看到Web.Release.config已应用,但Web.TA.config(环境特定配置)没有发生其他转换,即使它存在并且阶段名称与配置名称匹配。

我有以下(简化的)用于多阶段管道的 YAML 文件:

此步骤/任务的日志摘录:

有人也遇到过这个问题吗?我做错了什么还是这是一个错误甚至是设计?

我刚刚意识到有一个新的FileTransform 任务,但如果它应该以更简单的方式工作,我宁愿不使用它。

0 投票
1 回答
3858 浏览

azure-devops - DevOps Pipeline - 在构建步骤中找不到包

我正在尝试将现有的 ASP.NET MVC Web 应用程序从 TeamCity 转移到 Azure DevOps,但是我似乎无法让我的管道找到它从 NuGet 包还原任务恢复的包。

该解决方案有多个项目,它们使用大量的 NuGet 包。我创建了一个多步骤管道,该管道当前具有 NuGet 还原任务和 VS 构建任务。

解决方案结构如下:

管道 YAML 如下所示:

当管道运行时,恢复任务成功,输出如下:

当构建任务在解决方案上运行时,它在遇到的第一个项目上失败并出现以下错误:

每个包依赖项都会发生相同的错误。看起来包恢复任务将包恢复到这里:

根据构建日志,它正在分层包文件夹结构中寻找它们,例如:

我已经尝试了很多方法,包括restoreDirectory从还原任务中删除参数、在本地运行 MSBuild 命令(它有效)和剥离一些包,但是我仍然看到相同的构建错误。

一些项目文件还包含提示路径;例如格式:

有人会有任何见解吗?谢谢。

0 投票
1 回答
3740 浏览

azure-pipelines - 如何在作业之间共享文件

两个作业是否可以在多阶段管道构建中共享文件?Publish阶段有dotnet publish工作(单个任务)和publish artifacts工作(单个任务)。但是, 的输出dotnet publish似乎不适用于publish artifacts.

0 投票
1 回答
237 浏览

yaml - Azure devops yaml:发布到多个 Web 节点

我试图弄清楚如何使用 yaml 管道将应用程序部署到多 Web 节点环境。

我正在尝试创建一个具有 2 个阶段的管道。第 1 阶段将构建项目,第 2 阶段将其部署到暂存环境。此暂存环境(当前)有 2 个 Web 节点。我不想将实际机器硬编码到我的管道中。所以我想我会添加一个变量组,其中包含一个包含要部署到的 Web 节点的变量,并使用“每个”语句为每个节点生成一个作业。

但是,由于以下几个原因,这不起作用:

  • 作业是在读取变量组之前生成的,因此它显示错误它找不到变量
  • 显然,除了内置变量外,根本不支持数组变量

所以我的问题是,其他人如何解决这个问题?我想在一个中心位置定义要部署到的服务器,而不是在我的管道定义中。

我最初的尝试打印在下面。这不起作用,但它确实描述了我想要完成的事情。

主要的yaml:

部署.yaml:

编辑:

我更接近解决方案。通过对 Deploy.yaml 进行以下调整,我能够使管道与“每个”构造一起使用:

这使它好一点。但是,我仍然不想在我的管道 yaml 源中定义“nodes”参数,而是在一个变量组中(如果有人有好的建议,也可以在其他地方)

0 投票
2 回答
2534 浏览

azure-devops - Azure 管道 - “要运行的阶段”不起作用

单击多阶段管道上的新功能“要运行的阶段”,我收到错误消息“无法加载管道的阶段”。此功能是否仍处于某种预览状态?

运行阶段

错误

Yaml 文件如下:

  • 管道文件
  • 构建模板
  • 部署模板未粘贴 b/c 它几乎与构建一个相同