问题标签 [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.
azure - 通过 Azure Pipeline 从 GitHub 将 python 脚本部署到虚拟机
我的目标是通过 Azure Pipeline 将我的 python 脚本从 GitHub 部署到我的虚拟机。我已经建立了连接,但是我不知道如何将 GitHub 存储库克隆到虚拟机。我已按照此处的说明进行操作
有一个例子azure-pipeline.yml
,它有以下内容:
为了使部署工作,我应该在部署部分放置什么?我想将我的脚本从 GitHub 克隆到特定文件夹并立即启动它。我假设这部分是我需要修改的全部:
matrix - Azure Pipelines 数据驱动矩阵
在 GitHub Actions 中,我可以像这样编写矩阵作业:
os
这将运行和的每个组合template
。在 Azure Pipelines 中,您必须手动指定每个组合,如下所示:
是否可以创建类似于 GitHub Actions 的数据驱动矩阵策略?
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
谢谢沙拉德
powershell - Azure 管道:基于 OS 的条件环境变量
我正在尝试使我的环境变量依赖于代理操作系统。
我写了以下内容test.yml
,但它不起作用:
我的 YAML 缩进有问题吗?
azure-pipelines - Azure 管道资源分支
编辑:请忽略关于tags
- 正如其中一个答案指出的那样,这来自设计文档并且尚未完全实施。我主要关心的是branch
房产。
问题
管道资源branch
( docs ) 和tags
(在 GitHub 上找到但不是 docs ) 属性如何工作?该version
属性正确选择了资源的默认版本,但branch
似乎tags
什么也没做。
我希望branch
类似地默认使用该分支作为源的最新运行,并tags
默认使用这些标签的最新运行。是坏了还是我误解了这种行为?
测试
我有两条管道要串联运行:
- 测试构建在主触发器上运行或手动运行并发布工件(尝试构建和管道工件)
- Test-Release 有一个 Test-Build 管道资源
现在我尝试了 3 种不同的测试:
- 指定
version
资源的属性。成功:资源正确选择了该版本。 - 指定
branch
资源的属性。失败:默认资源将是最新的,即使来自不同的分支。 - 指定
tags
资源的属性。失败:默认资源将是最新的,即使没有这些标签。
示例文件
测试构建
测试发布
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 的一部分
日志的一部分
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 资源容器的事情,这不是我现在想做的事情。
任何人有任何想法我怎么能做到这一点?
azure-pipelines - YAML Pipeline 可以检测云与自托管构建吗?
是否可以在单个 YAML 管道中确定代理是在自托管还是在云构建中运行?如果是这样,人们将如何确定这一点?
我需要我的管道在这两个位置都可以工作,但某些步骤只有在我在一个或另一个上构建时才必须执行。