问题标签 [azure-pipelines-release-task]

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

iis - 将 parameters.xml 或 setParams.xml 替换为 Azure DevOps Release Pipeline 变量

我有一个自定义配置文件,其中包含要在发布时用发布管道变量替换的参数。配置文件中的值的替换有效。如果 setParams.xml 已绑定,则该文件包含此值,否则为参数定义中的默认值。我现在的问题是我只得到原始值,而不是管道中配置值的解析值。

parameters.xml

setParams.xml(两种符号都不起作用)

如何Pipeline_Variable使用 parameters.xml 和 setParams.xml 将参数替换为配置的值?我想避免将 Azure 任务中的每个参数设置为额外的控制台参数。

0 投票
1 回答
398 浏览

docker - 尝试在多容器 Azure Web 应用服务中使用托管服务标识获取令牌时出错

我们有以下场景:

当前工作设置

  1. 使用单个 DockerFile 的 Web API 项目
  2. 具有“Azure 应用服务部署”任务的发布管道。

建议的新设置

  1. 使用多容器 Docker Compose 文件的 Web API 项目
  2. 带有“Azure Web App for Containers”任务的发布管道。

部署新设置后,我们收到以下错误消息:

引发的异常是因为它无法连接到 Azure MSI(托管服务标识)。它这样做是为了在连接到密钥保管库之前获取令牌。

根据其他人发现的一些研究和解决方案,我尝试了以下方法:

  1. 连接"RunAs=App"(无论如何这似乎是默认的无参数构造函数)
  2. "MSI_SECRET"通过从机器中提取环境变量,自己手动构建连接字符串。这总是空白。
  3. 重新启动微星。
  4. 升级和降级AppAuthentication

MSI 似乎配置正确,因为它与我们当前的工作设置完美配合,因此我们可以排除这种情况。值得注意的是,这是系统分配的身份而不是用户分配的身份。

说明哪些服务支持托管标识的文档仅提及“Azure Container Instances”而不是“Azure Managed Container Instances”,这也适用于 Linux/Preview,因此可能不受支持。

支持 Azure 资源托管标识的服务

我们已经花了相当多的时间来完成配置和部署,如果我们能解决最后一个问题,那就太好了。

任何帮助表示赞赏。

0 投票
1 回答
423 浏览

azure-devops - 能否以编程方式为 Azure DevOps 发布管道中的变量设置可覆盖的默认值?

我有一个some_var在 Azure DevOps 发布管道中调用的变量。我想在发布时设置默认值。但我想根据工件放置文件夹中文件的内容以编程方式设置它。但我仍然希望用户能够在创建发布时覆盖动态设置的值。

因此最终用户的行为将是他们 (1) 导航到 Release 并 (2) 单击“Create New”。对话框出现的some_var变量已经设置为存储在文本文件中的值。但是,由于变量设置为在运行时可设置,因此他们也可以在单击按钮创建发布之前修改变量值。

有什么方法可以动态填充(在创建版本之前)该some_var值,并且仍然可以由在 crate-time 创建版本的人编辑。

0 投票
2 回答
75 浏览

azure - 有没有办法将发布管道数据发送到 devops 中的 GIT 存储库?

是否有任何任务或东西会将发布管道数据发送到 git repo 而不是将其发送到任何环境?

0 投票
2 回答
469 浏览

azure - Azure 替换管道发布任务中 Asp.net MVC 的服务模型端点的令牌

我的解决方案中有 10 多个项目。一个项目有配置,名称为 Variable.release.config 文件,其中包含所有应用程序变量、连接字符串和其他 web.config 的模块,需要用库中的 Azure 变量替换。这个配置文件被所有项目使用。该解决方案有 Asp.net MVC 网站,它有自己的 web.config、web.release.config。我正在尝试从 Variable.release.config 转换变量,它正在转换 web.config 中的所有内容,但端点地址的客户端部分中的端点变量的值没有被替换。

以前我使用的是 Azure App Service Deploy,下面是它的 YAML:

它没有替换端点中的变量。我遇到了几篇文章说只有端点不能用 xml 转换替换我需要使用 3rd 方工具来传输替换令牌

我尝试了以下步骤:

  1. 文件转换
  2. 替换令牌
  3. Azure 应用服务部署

但是它没有替换 web.config 中的端点变量地址,尽管它的 xml 转换成功并且在日志中替换令牌已经替换了该变量的令牌。

之后,我在阅读此答案后修改了我的发布任务,如下图所示。

有什么方法可以替换端点地址中的变量值还是我遗漏了什么?

Azure 发布管道任务

0 投票
1 回答
264 浏览

azure-devops - Azure DevOps 中服务连接的管道级访问控制 - 经典编辑器管道

我在 Azure DevOps 中创建了一个 SSH 服务连接。我的帐户启用了“新服务连接体验”预览功能,并且能够看到服务连接的新安全功能。看来我们可以启用安全性,以便某些 YAML 管道能够使用服务连接。但是,我没有看到经典编辑器管道的类似功能。我可以就如何为经典编辑器实现类似功能获得一些建议?

示例:以下详细信息位于具有相同用户(用户/管理员/读者)级别访问权限的同一 ADO 组织和项目下

服务连接名称:test-ssh-connection 经典编辑器管道创建:1)管道1 - 这可以使用服务连接 2)管道2 - 我们要限制服务连接,以便该管道不能使用服务连接。

0 投票
2 回答
1454 浏览

azure-devops - 无法在 Marketplace 任务中读取 Secret Azure Release Pipeline 变量

尝试读取在 azure 发布管道中设置的Secret 变量时,出现以下错误。

术语“SecretVariableName”未被识别为 cmdlet、函数、脚本文件或可运行程序的名称。……

我知道该变量是 100% 正确的,但以下方法均无助于阅读它。其他非秘密变量工作得很好。

所有这些都不起作用。其中 SecretVariableName 是 Release Pipeline 中的一个秘密变量。

作为旁注:

  1. 对于非秘密变量,它工作得很好。
  2. 在管道中作为内联脚本运行也可以。

问题是在尝试读取用于创建 vsix 文件并上传到visualstudio 市场的市场任务中的秘密变量时

我怎样才能成功访问它?

谢谢,

0 投票
2 回答
980 浏览

azure-devops - Azure Multistage Pipeline 将 ASP.NET Web 应用程序部署到自托管的 Windows 代理:运行无错误但未部署任何内容

我正在尝试创建概念证明,将 ASP.NET Web 应用程序(.NET Framework,而不是 .NET Core)部署到运行 IIS 的本地 Windows 服务器。

我使用基于 YAML 的构建管道和使用经典 GUI 的发布管道让它工作。为了部署到本地服务器,我创建了一个部署组并将一个自托管代理部署到目标服务器。工作正常。

我的下一步是尝试创建一个基于 YAML 的多阶段管道,将构建管道转换为构建阶段并编写一个全新的部署阶段。据我了解,YAML 多级管道不支持部署组,而是我必须创建一个具有虚拟机资源的环境。我在目标服务器上创建了代理,并将自己注册为环境下的资源,因此设置看起来不错。在这种情况下,环境被命名为“Dev”。

我尝试运行管道,它似乎工作正常,成功完成。日志显示部署阶段下载了在构建阶段创建的工件,并且 IIS Web App Manage 和 IIS Web App Deploy 步骤运行良好。但是,目标服务器上的 Web 应用程序未更新。代表目标服务器的 Dev 环境下的资源也显示“Never deploy”为最新作业,表明自托管代理从未拉下发布。

我假设由于日志显示没有错误,部署作业实际上是在 Microsoft 托管的代理而不是自托管代理上运行的。鉴于开发环境以自托管代理作为其唯一资源存在,我看不出哪里出错了。关于我哪里出错的任何提示或建议?

这是整个 YAML 文件:

以下是部署阶段的原始日志文件:

我注意到日志中靠近顶部的那一行,上面写着Agent machine name: 'WIN-5Q96T5JR7AD'。这不是运行自托管代理的本地服务器的名称,因此我认为它必须是 Microsoft 托管的代理。

0 投票
2 回答
8024 浏览

azure - 在 Azure DevOps YAML Pipelines 上分配特定代理

我正在尝试在我的代理池中分配一个特定的代理,但我不知道该怎么做。有人知道吗?

我试过这个但不起作用:

0 投票
1 回答
1114 浏览

azure-devops - Azure DevOps AzureBlob 文件复制任务通配符目录源路径

我有一个发布管道设置来提取我的构建工件,然后我使用 RegEx 查找和替换任务来更新我的静态网站上的一些配置文件,然后再通过 AzureBlob 文件复制任务上传。

我目前的作品。但是,我必须使用“wwwroot”文件夹的完整源路径才能上传正确的文件。

我担心的是我的构建可能会更改作为构建工件删除的目录结构,这会破坏我的发布任务。

我尝试对源路径使用各种通配符,例如:

和许多其他变化无济于事。

我在一些文档中读到通配符不适用于此任务中的目录路径,但希望有一种方法可以解决这个问题,因为我长期担心路径会随着时间而改变。我查看了市场上的其他一些任务,但似乎没有什么符合要求,而且我找不到任何关于此事的明确指导。有什么建议么?

在此处输入图像描述