问题标签 [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 回答
466 浏览

azure-devops - 在 Azure DevOps 多阶段管道中部署预先存在的项目

在 Azure DevOps 经典管道中,您可以拥有一个用于创建工件的构建管道和一个用于部署它的发布管道。这意味着可以部署任何存储的现有工件,只需启动发布管道并选择工件的版本(典型用法:将当前部署的工件回滚到以前的版本)

如何在多阶段管道中实现这一点?任何方式只启动部署阶段选择要部署的工件?

问候

0 投票
1 回答
1290 浏览

azure-devops - 如何在 Azure Devops 模板的条件表达式中使用变量

我有多个从多级 yaml 构建的管道(扩展:模板:),我想设置在传递变量时应该运行哪些作业和步骤的条件。所以在这种情况下,我想设置变量'Migrations = false'并在我的集成作业中跳过一些作业(迁移作业)和一些步骤(npm run integration-tests)

我尝试使用(跳过migration.yaml上的迁移作业)

以及(跳过 integration.yaml 上的集成脚本)

0 投票
1 回答
130 浏览

azure-devops - 在多阶段 Azure DevOps Yamls 上迭代插入依赖和条件

我想对模板有多个依赖项。有没有办法在参数数组的迭代中建立条件?

这个被标记为 (Line: 12, Col: 3): A sequence was not expected

0 投票
1 回答
4820 浏览

azure-devops - 在构建时使用变量在 YAML 模板中进行条件插入 Azure DevOps

有没有办法使用管道(仪表板)中定义的变量在 YAML 模板上使用条件插入来执行步骤:

我的意思是我有这个步骤:


这应该在未声明变量时运行

在此处输入图像描述


这应该在声明变量时运行

在此处输入图像描述


我知道它存在运行时参数,但我不想每次运行管道(手动)时都使用它们。我希望一些管道在我声明变量时运行一些步骤,而其他一些管道不'当变量没有被声明时,不要运行一些步骤。

我也知道它存在每一步里面的条件,比如

但我想在某些情况下使用条件插入来运行,如上面示例中的许多步骤。不止一步

0 投票
3 回答
761 浏览

azure - 在 YAML 管道中访问管道队列变量

我在 Pipeline UI 中创建了一个名为的变量Test,并将该值留为空白。于是出现如下图。

在此处输入图像描述

我正在尝试在 YAML 管道中访问此变量,但无法检查它是否为空值。

我正在尝试这样:

变量Release值始终是变量Stage是否Test为空或其中的任何值。

我认为必须有一种简单的方法来检查变量值是否为空?

0 投票
2 回答
958 浏览

azure-devops - Azure DevOps 多阶段管道部署到特定环境

我们在 Azure DevOps 中构建了一个多阶段 YAML 管道的原型。我们需要的一件事是能够直接手动部署到多个环境之一。

换句话说,我们可能想要部署到开发环境或测试环境。

我可以想出一些看起来像拼凑但更喜欢更合适的方法来做这件事。

设置它的首选方法是什么?

0 投票
1 回答
250 浏览

azure-devops - 在运行时在 Azure Devops 中的托管代理和 Scaleset 代理之间切换

我已经配置了 scaleset 代理并且工作正常。但我也想尽可能利用 Microsoft 托管代理。因此,我向管道添加了一个参数,以选择用于该特定管道运行的代理池。

在此处输入图像描述

我设法根据所选参数设置池/图像变量,但由于语法不同,无法使容器作业使用所选池,如下所示。

在此处输入图像描述

有没有办法根据用户选择的参数修改 yaml 模板的架构。我认为我们不需要vmImage有条件地显示属性。我尝试了下面的代码片段,但它不起作用。vmImage财产总是丢失。

更新:

0 投票
1 回答
405 浏览

azure-devops - 在 Azure DevOps 发布管道阶段处理多个服务器

我对 Azure DevOps 发布管道有疑问。我的管道工作流程是多阶段的,其中构建触发 QA 阶段,然后触发 UAT 阶段,然后触发 PROD 阶段。

我使用管道变量来管理每个阶段,并要求对 UAT 和 PROD 阶段进行预先批准,以便更改不会立即按顺序部署到每个阶段。

我的问题是如何处理我在一个环境中有多个服务器的情况。我认为每个环境都应该被视为一个阶段,但现在,我将环境中的每个服务器都视为一个任务并行运行的阶段。这适用于第一阶段(QA),但对于 UAT 来说变得很难看,因为每个服务器都需要预先批准而不是环境。

我有管道变量,它们指定要在服务器上删除的文件的路径。在每个阶段级别的服务器上,这有效,但不适用于一个阶段中的多个服务器。

我的管道目前如下图所示,其中 UAT1 和 UAT2 都需要批准。如何为 QA 和 UAT 阶段以及以后的 PROD 处理多个服务器?

在此处输入图像描述

0 投票
0 回答
492 浏览

continuous-integration - Gitlab CI/CD:从上游管道有条件地运行下游多级管道

仅当上游管道中的工件不可用时,我才尝试触发下游管道。我正在使用 Gitlab CE v13.5.1。

这个想法是:

  1. 预构建阶段:从 nexus 卷曲并检查工件是否可用。如果是,请不要运行下游触发器,否则运行它。

    • 为了实现这一点,当 curl 失败时,我正在创建一个虚拟 exists.txt 文件,然后在后期阶段在存在条件下使用该文件。
  2. 仅当存在 exists.txt 时运行触发器。但是,问题是无论存在与否,触发器都会一直运行。也就是说,触发阶段的存在条件不起作用。

以下是 gitlab-ci 文件:

0 投票
3 回答
245 浏览

azure - 在基于 yaml 的多阶段管道中,我需要在一个应用程序服务上发布 webApp 和 webjobs,用于 2 个基于 dotnet 核心的项目,这些项目位于一个溶胶中

我尝试通过添加两个 vsBuild 任务为每个项目创建两个不同的 zip。

在编写基于 yaml 的管道时,我面临两个问题:-

  1. 在 webjob 项目路径中,DesktopBuildPackageLocation="$(build.artifactStagingDirectory)\App_Data\jobs\continuous\somethingApp.zip"但没有添加任何内容。

2 当我部署它 azure app 服务时,在部署我的 web 应用程序期间,我面临以下错误:

因此,尽管 Pipeline 成功完成,但无法部署任何东西。