问题标签 [azure-pipelines-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 投票
1 回答
791 浏览

azure - 通过 Azure Pipeline 从 GitHub 将 python 脚本部署到虚拟机

我的目标是通过 Azure Pipeline 将我的 python 脚本从 GitHub 部署到我的虚拟机。我已经建立了连接,但是我不知道如何将 GitHub 存储库克隆到虚拟机。我已按照此处的说明进行操作

有一个例子azure-pipeline.yml,它有以下内容:

为了使部署工作,我应该在部署部分放置什么?我想将我的脚本从 GitHub 克隆到特定文件夹并立即启动它。我假设这部分是我需要修改的全部:

0 投票
2 回答
80 浏览

matrix - Azure Pipelines 数据驱动矩阵

在 GitHub Actions 中,我可以像这样编写矩阵作业:

os这将运行和的每个组合template。在 Azure Pipelines 中,您必须手动指定每个组合,如下所示:

是否可以创建类似于 GitHub Actions 的数据驱动矩阵策略?

0 投票
1 回答
122 浏览

azure-devops - 使用 Azure Build API 将参数传递给 azure yaml 管道时遇到问题

我尝试在以下管道中使用参数::

  • 名称:var1 显示名称:var1 类型:字符串 默认值:variable2 值:
    • 变量2
    • 变量3
    • 变量4

现在,当我试图被邮递员击中并在下面的正文中传递参数时

发布调用 --> https://dev.azure.com/ <org_name>/<prj_name>/_apis/build/builds?api-version=5.0 body -->

{“定义”:{“id”:1234},“var1”:“variable1”}


仍然当我在管道中获取参数值时.. 我得到的是默认值,而不是我使用 api 传递的值。

echo "传递的变量是 ${{ parameters.var1 }}" 输出 --> 传递的变量是变量 2

谢谢沙拉德

0 投票
3 回答
2051 浏览

powershell - Azure 管道:基于 OS 的条件环境变量

我正在尝试使我的环境变量依赖于代理操作系统

我写了以下内容test.yml,但它不起作用:

我的 YAML 缩进有问题吗?

0 投票
2 回答
881 浏览

azure-pipelines - Azure 管道资源分支

编辑:请忽略关于tags- 正如其中一个答案指出的那样,这来自设计文档并且尚未完全实施。我主要关心的是branch房产。


问题

管道资源branch( docs ) 和tags(在 GitHub 上找到但不是 docs ) 属性如何工作?该version属性正确选择了资源的默认版本,但branch似乎tags什么也没做。

我希望branch类似地默认使用该分支作为源的最新运行,并tags默认使用这些标签的最新运行。是坏了还是我误解了这种行为?

测试

我有两条管道要串联运行:

  • 测试构建在主触发器上运行或手动运行并发布工件(尝试构建和管道工件)
  • Test-Release 有一个 Test-Build 管道资源

现在我尝试了 3 种不同的测试:

  1. 指定version资源的属性。成功:资源正确选择了该版本。
  2. 指定branch资源的属性。失败:默认资源将是最新的,即使来自不同的分支。
  3. 指定tags资源的属性。失败:默认资源将是最新的,即使没有这些标签。

示例文件

测试构建

测试发布

0 投票
2 回答
415 浏览

azure-devops - 在构建变量中检测失败构建的重新运行

是否有内置管道或构建变量来检查运行是否实际上是作业/阶段的重新运行。

我需要在条件下添加它,因为需要根据这个变量跳过一些步骤。

在此处输入图像描述

0 投票
1 回答
989 浏览

azure - 无法从 Azure Pipelines 将包下载到 Azure Artifacts

从 Azure Pipelines 请求有关 Azure Artifact 连接的帮助。

我的 Azure Pipeline 正在从 docker 文件构建映像,并且“需求”文件包含要安装 pip 的软件包列表。在管道中,我使用 PipAuthenticate@1 任务对我的 Azure Artifacts 源进行身份验证,并且身份验证成功,并且 URL 作为参数传递给 docker 文件。

但是,我可以看到这些软件包是从外部链接安装的,但没有下载到我的工件提要中。

工件提要“testartifact”当前是空的,因此它可以正确地转到外部链接来下载包。但我希望该包随后保存在“testartifact”提要中,以便下一个 docker build 直接从 testartifact 提要中获取包。我的假设正确吗?如果是这样,如果由于包没有保存到我的工件中而导致代码中缺少某些内容,您能否提供帮助。

这是 Azure Pipeline yaml 文件和 docker 文件。还附上了包下载的日志。

谢谢你的时间!

dockerfile 的一部分

日志的一部分

0 投票
1 回答
1331 浏览

azure-pipelines - 如何更改 Azure Devops YAML 管道的默认分支

我在一个分支上创建了一个 YAML 管道并从该分支对其进行了测试。我随后将其合并到 master 并删除了分支。但是原始分支一直显示为管道的默认值。如何将默认值更改为“master”?

YAML 中没有定义默认分支的内容。这似乎是 Azure Pipelines 中的一些配置项。

在此处输入图像描述

0 投票
2 回答
1078 浏览

azure - 部署 ARM 模板和 Docker 映像

好吧,每个人都在说要在这次大流行期间尝试学习新东西,所以这就是我正在尝试做的事情。我对 YAML 和 Docker 很陌生,对 ARM 模板也很陌生。

我已经能够使用 YAML 通过 dotnet YAML 命令构建和发布 .NET Core 应用程序。我已经能够使用 YAML 构建 .NET Core 3.1 Web API 应用程序的 Docker 映像。

我将 docker 映像发布到 Azure 资源容器。

我被困在哪里:

理想情况下,我想在 .NET Core 项目中使用 ARM 模板,以便能够通过代码部署我的 Azure 门户资源,而不是在门户中手动创建。这应该包括 Azure 资源容器。

看来我需要做的是在构建阶段构建 docker 映像,然后将其发布到 $(System.ArtifactsDirectory) 以便我可以将其保留在那里,直到通过 ARM 模板部署 Azure 资源。

不过,我找不到任何关于将 docker 映像发布为管道工件的信息。只有关于推送到 DockerHub、GitHub 和 Azure 资源容器的事情,这不是我现在想做的事情。

任何人有任何想法我怎么能做到这一点?

0 投票
2 回答
341 浏览

azure-pipelines - YAML Pipeline 可以检测云与自托管构建吗?

是否可以在单个 YAML 管道中确定代理是在自托管还是在云构建中运行?如果是这样,人们将如何确定这一点?

我需要我的管道在这两个位置都可以工作,但某些步骤只有在我在一个或另一个上构建时才必须执行。