问题标签 [azure-devops-pipelines]

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

environment-variables - 从 Azure DevOps Yaml 管道中 Python 脚本任务中的变量组访问变量

我在 Azure DevOps Yaml 管道中使用“文件”类型的 Python 脚本任务。我需要使用我在 Python 文件的变量组中定义的变量。以下是我在 Azure devops yaml 管道上的任务。

关于如何实现这一目标的任何建议?

谢谢!

0 投票
1 回答
68 浏览

azure-devops - 添加自定义“您的代码在哪里”源

如果可能的话,如何为 Azure DevOps 中的“您的代码在哪里”选择定义自定义源?

显示的屏幕截图

例如,假设我想使用 GitLab 作为我的。鉴于当前市场上不存在执行此操作的扩展,有人如何定义一个为 Azure DevOps Pipelines添加自定义源的扩展?

虽然确实可以将管道定义存储在一个位置并使用“签出”任务来克隆代码本身,但这种技术会导致某些功能丢失(例如,构建状态报告)。

此外,虽然使用“Other Git”允许连接到任何git 存储库,但它有其自身的问题:

  1. 您需要为每个存储库创建一个自定义服务连接。鉴于大量存储库,这是不可持续的。
  2. 在将管道定义存储在一个地方并签出特定存储库时,您仍然会发现问题:构建状态报告丢失、PR/合并修饰等。

我查看了 Microsoft 的文档网站以及Azure DevOps Task Lib等各种存储库,但我没有找到任何可以说明这是否可行的信息。


2020 年 2 月 17 日更新

根据下面的答案,今天(2021 年 2 月 17 日)这是不可能的。我已经打开了一个相应的 User Voice 想法:Azure DevOps Pipelines 的自定义代码源

0 投票
1 回答
200 浏览

kubernetes - ADO Pipeline Environment Kubernetes On-Prem Resource Connection failed with x509: certificate signed by unknown authority

我正在尝试使用 ADO 管道环境功能设置多级 ADO 管道。

第 1 阶段:使用 Maven 构建基于 Spring-boot 的 Java 微服务。

第 2 阶段:使用 Helm 3 部署上述内容。HelmDeploy@0 任务使用 Environment,它有一个名为 tools-dev(一个 kubernetes 命名空间)的资源,我希望在其中使用 Helm chart 部署此服务。

它在最后一步失败并出现此错误:

完成:Helm Deploy

我使用设置部分中指定的 kubectl 命令在 Environment 中创建了 Kubernetes 资源。

部署阶段管道摘录:

环境设置:名称:dev-az-s-central-k8s2 资源:tools-dev(注意:这是我尝试连接的本地 k8s 集群)。

您能否让我知道解决此 x509 证书问题需要哪些额外配置?

0 投票
1 回答
121 浏览

azure-devops - Visual Studio 测试任务错误在“失败的测试被标记为易碎因此将退出代码更改为 0”之后被忽略

我有一个带有“Visual Studio 测试”任务的管道,其中“最小测试数”设置为 10:

测试任务最小测试数配置

但是,当一个版本不满足 10 个最低测试要求时,日志中会包含正确的错误:

天蓝色 devops 测试结果

但是,下面有两行,我们有以下日志:

并且任务被标记为成功。整个测试套件中的所有测试都没有标记为易碎?失败的测试在哪里可以标记为易碎,从而将退出代码更改为 0日志来自?

代理工作日志

0 投票
3 回答
366 浏览

azure - 多个与指定模式匹配的包:D:\a\r1\a\**\*.zip。请限制搜索模式

我已将我的 .NET Core 3.1 Web api 项目迁移到 .NET 5,当我在 azure DevOps 中配置我的发布管道时,我收到了以下错误。

2021-02-18T16:07:51.6102920Z ##[部分]开始:部署 Azure 应用服务 2021-02-18T16:07:51.6257075Z ================== ==================================================== ========= 2021-02-18T16:07:51.6257406Z 任务:Azure 应用服务部署 2021-02-18T16:07:51.6257755Z 描述:将 Web、移动或 API 应用部署到 Azure 应用服务使用 Docker、Java、.NET、.NET Core、Node.js、PHP、Python 或 Ruby 2021-02-18T16:07:51.6260779Z 版本
:4.181.0 2021-02-18T16:07:51.6261044Z 作者:Microsoft公司 2021-02-18T16:07:51.6261283Z 帮助: https ://aka.ms/azureappservicetroubleshooting 2021-02-18T16:07:51.6261567Z ======================================== ======================================= 2021-02-18T16:07:52.7413841Z ## [错误]错误:多个包与指定模式匹配:D:\a\r1\a***.zip。请限制搜索模式。2021-02-18T16:07:52.7518620Z ##[section]完成:部署 Azure 应用服务

这些是我在 Azure DevOps 中部署 .NET 5 的步骤。

  1. 使用 .NET 5 创建 Azure Web 应用(抢先体验) 在此处输入图像描述
  2. 在 Azure DevOps 中创建管道 在此处输入图像描述
  3. 从新的发布管道创建工件 在此处输入图像描述
  4. 选定的 Azure 应用服务部署模板 在此处输入图像描述
  5. 选定的开发阶段 在此处输入图像描述
  6. 在代理设置上运行 在此处输入图像描述
  7. Azure 应用服务部署设置 在此处输入图像描述
  8. 创建了一个新版本 在此处输入图像描述
  9. 收到错误 在此处输入图像描述 10) 详细错误 在此处输入图像描述

这是我现在面临的问题。有人知道如何解决吗?

0 投票
1 回答
59 浏览

azure-devops - Devops 构建不删除 Web 应用程序\服务的文件

我们正在使用 Devops 2019 并使用本地代理进行构建设置,我们有一个 .net 解决方案文件,其中包含控制台和 Web 应用程序代码。每次拉取请求构建运行时,构建放置文件仅包含控制台应用程序特定的放置代码文件,但不包含 Web 应用程序\服务特定的放置。下面是 MSBuild Arguments /p:DeployOnBuild=true /p:WebPublishMethod=FileSystem /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:PackageLocation="$(build.artifactstagingdirectory)\" 在下面尝试过,但没有任何结果
VSTS构建不删除 Web 应用程序的所有文件

0 投票
1 回答
192 浏览

azure - 独立的暂存和生产管道

我想为微服务以及登台和生产提供单独的管道。它看起来像这样:

在此处输入图像描述

我刚刚开始设置azure-pipelines.yaml并将其作为触发器admin

正如您可能马上看到的那样,我遇到的问题是,当我提交staging它时会触发两个管道。

所以我的问题是:有没有办法为这个微服务和这个微服务提供一个yaml,或者我需要有两个单独的文件吗?stagingproductionyaml


编辑:

鉴于这两件事,我认为我想做的事情不太可能,除非我分开adminStaging.yamland adminProduction.yaml

您不能在触发器中使用变量,因为变量是在运行时评估的(在触发器触发之后)。

如果您使用模板来创作 YAML 文件,那么您只能在管道的主 YAML 文件中指定触发器。您不能在模板文件中指定触发器。

https://docs.microsoft.com/en-us/azure/devops/pipelines/repos/azure-repos-git?view=azure-devops&tabs=yaml

0 投票
2 回答
460 浏览

azure-devops - 如果源文件较旧,则 AzCopy 忽略

是否有处理下一种情况的选项:我在其中实现了一个管道和复制文件任务,它用于将一些静态 html 文件从 git 上传到 blob。一切都很完美。但有时我需要在 blob 存储中更改此文件(使用托管应用程序工具)。所以,问题是:我是否可以“检测”我的 git 文件是否比目标 blob 文件旧,并忽略此文件以进行复制任务以使其保持不变。我最初的想法是使用 Azure 文件副本并使用“可选参数”文本框。但是,我在文档中找不到所需的选项。它允许这样的事情吗?还是应该以其他方式处理这种情况?

0 投票
1 回答
307 浏览

azure - 如何通过 Azure DevOps 管道在 AKS 集群上部署 Istio?

我需要通过 Azure DevOps YAML 管道在 AKS 集群上部署 Istio(1.7.3 版)吗?我怎样才能做到这一点 ?我目前收到错误。我使用的代码如下。

我的管道任务没有给我任何错误(我正在调用带有脚本的 powershell 文件,该脚本作为 Azure CLI 任务添加到管道中)但我猜,错误可能出现在上面的最后一行代码中。我在这里缺少其他要添加的内容,因为我对错误一无所知。

在使用“kubectl get all -n istio-operator”时,我得到的输出是“在 istio-operator 命名空间中找不到资源”。

更新:-

使用上述行时,错误是-

术语“/home/vsts/work/1/s/pipelines/scripts/aks/artifacts/istio-1.7.3/bin/istioctl”未被识别为 cmdlet、函数、脚本文件或可执行程序的名称. 检查名称的拼写,或者如果包含路径,请验证路径是否正确并重试

但是当使用上面的行(.exe 添加)时,错误是 -

错误:找不到类型“application/x-msdos-program”的“view”mailcap 规则。/usr/bin/xdg-open:869:www-browser:未找到。/usr/bin/xdg-open:869:links2 :未找到。/usr/bin/xdg-open:869:elinks:未找到。/usr/bin/xdg-open:869:链接:未找到。/usr/bin/xdg-open:869:lynx:未找到找到。/usr/bin/xdg-open:869:w3m:未找到。xdg-open:没有可用于打开 '/home/vsts/work/1/s/pipelines/scripts/aks/artifacts/istio-1.7 的方法.3/bin/istioctl.exe

0 投票
2 回答
229 浏览

azure-devops - 总是:Azure DevOps 管道中的真实行为问题

我想要实现的目标:仅在 cron 计时器上运行管道并在计时器上运行它总是忽略以前的运行状态

我目前拥有的:

  1. 失败的管道按预期工作

在此处输入图像描述

  1. 第一次成功运行后,成功的管道停止工作。当手动触发运行失败时,它甚至不会启动。

在此处输入图像描述

  1. 所有管道都有正确的“计划运行”选项卡。

在此处输入图像描述

  1. 每个管道都没有通过 UI 配置任何触发器/计划

在此处输入图像描述

我究竟做错了什么?