问题标签 [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.
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
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
azure - Azure devops 多阶段 YAML 结合手动交互
我只是在阅读听起来很棒的多级管道。
据我了解,这些阶段相互依存,现在假设我有以下阶段
我不想在部署到acc
. 首先我想看看,acc
当我批准它应该部署到prd
. 多阶段管道中有没有办法告诉不要自动运行阶段?例如手动运行一个阶段?或者我应该为生产创建一个新的管道?
azure - 更改多阶段管道中 1 阶段的存储库
我有一个 azure devops 多阶段管道,它需要 1 个阶段将文件从另一个存储库复制到$(build.artifactstagingdirectory)
例如我的 YAML 看起来像
此管道连接到存储库,该存储库可能由repo: self
. 所以问题是,我可以为特定阶段更改此存储库吗?
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 的组合?有没有办法获取完整的数据(如经典发布策略)?还是它目前正在开发中,我必须耐心等待?
提前致谢!
azure-devops - 多阶段 YAML 管道不应用特定于环境的 XML 转换
我将在典型发布管道中执行的步骤转换为多阶段 YAML 管道。
问题是任务Web.config
应用的(XML)转换AzureRmWebAppDeployment@4
不再像以前那样工作。
这种行为的记录方法是首先发布配置用于转换,然后是特定于环境的配置。
从日志中我可以看到Web.Release.config
已应用,但Web.TA.config
(环境特定配置)没有发生其他转换,即使它存在并且阶段名称与配置名称匹配。
我有以下(简化的)用于多阶段管道的 YAML 文件:
此步骤/任务的日志摘录:
有人也遇到过这个问题吗?我做错了什么还是这是一个错误甚至是设计?
我刚刚意识到有一个新的FileTransform 任务,但如果它应该以更简单的方式工作,我宁愿不使用它。
azure-devops - DevOps Pipeline - 在构建步骤中找不到包
我正在尝试将现有的 ASP.NET MVC Web 应用程序从 TeamCity 转移到 Azure DevOps,但是我似乎无法让我的管道找到它从 NuGet 包还原任务恢复的包。
该解决方案有多个项目,它们使用大量的 NuGet 包。我创建了一个多步骤管道,该管道当前具有 NuGet 还原任务和 VS 构建任务。
解决方案结构如下:
管道 YAML 如下所示:
当管道运行时,恢复任务成功,输出如下:
当构建任务在解决方案上运行时,它在遇到的第一个项目上失败并出现以下错误:
每个包依赖项都会发生相同的错误。看起来包恢复任务将包恢复到这里:
根据构建日志,它正在分层包文件夹结构中寻找它们,例如:
我已经尝试了很多方法,包括restoreDirectory
从还原任务中删除参数、在本地运行 MSBuild 命令(它有效)和剥离一些包,但是我仍然看到相同的构建错误。
一些项目文件还包含提示路径;例如格式:
有人会有任何见解吗?谢谢。
azure-pipelines - 如何在作业之间共享文件
两个作业是否可以在多阶段管道构建中共享文件?Publish
阶段有dotnet publish
工作(单个任务)和publish artifacts
工作(单个任务)。但是, 的输出dotnet publish
似乎不适用于publish artifacts
.
yaml - Azure devops yaml:发布到多个 Web 节点
我试图弄清楚如何使用 yaml 管道将应用程序部署到多 Web 节点环境。
我正在尝试创建一个具有 2 个阶段的管道。第 1 阶段将构建项目,第 2 阶段将其部署到暂存环境。此暂存环境(当前)有 2 个 Web 节点。我不想将实际机器硬编码到我的管道中。所以我想我会添加一个变量组,其中包含一个包含要部署到的 Web 节点的变量,并使用“每个”语句为每个节点生成一个作业。
但是,由于以下几个原因,这不起作用:
- 作业是在读取变量组之前生成的,因此它显示错误它找不到变量
- 显然,除了内置变量外,根本不支持数组变量
所以我的问题是,其他人如何解决这个问题?我想在一个中心位置定义要部署到的服务器,而不是在我的管道定义中。
我最初的尝试打印在下面。这不起作用,但它确实描述了我想要完成的事情。
主要的yaml:
部署.yaml:
编辑:
我更接近解决方案。通过对 Deploy.yaml 进行以下调整,我能够使管道与“每个”构造一起使用:
这使它好一点。但是,我仍然不想在我的管道 yaml 源中定义“nodes”参数,而是在一个变量组中(如果有人有好的建议,也可以在其他地方)