问题标签 [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.
tfs - 如何从远程 powershell 脚本设置任务变量?
从发布定义来看,
当我使用 powershell 任务执行以下 powershell 脚本时,它可以成功运行,并且我可以从发布定义中的以下任务中检索值:
由于“Powershell on target machine task”,当我执行完全相同的脚本时,我没有得到任何价值。
如何从不在代理机器上执行的 powershell 脚本设置变量?
问候,
azure-devops - 发布后将文件从 azure 文件存储复制到 azure 网站
部署完成后,我有需要复制到我的网站(天蓝色网站)的文件。通常这些文件是特定于服务器的(我有多个不同的服务器用于不同的版本),通常在过去,在我使用 azure 之前,我只有一个包含这些文件的备份文件夹和一个我在部署后运行的 powershell 脚本,它只是复制了那些文件就过去了。
现在我正在转向天蓝色,我想保留这个功能。我有兴趣将这些文件复制到 azure 文件存储中,然后在 azure 网站部署后的发布任务中,只需从该文件存储复制到 site\wwwroot 文件夹。我真的没有看到一个简单的方法来做到这一点。考虑到这一点,我可以使用发布任务吗?
azure-devops - Azure DevOps 发布管道中的计数器
我需要一个计数器,每次发布时,每个阶段都会增加。构建管道中有计数器支持(https://docs.microsoft.com/en-us/azure/devops/pipelines/process/variables?view=vsts&tabs=yaml%2Cbatch#counters)但我一无所知用于发布管道。
某种解决方法是从版本名称中解析出版本号,并将其用作计数器。但是解析字符串很难看,它只在每个新版本而不是每个特定阶段递增(例如,我希望“dev”和“prod”有单独的计数器,如果在同一个版本中,你再次部署它,我希望计数器上升)。
有什么我想念的吗?我正在考虑创建自己的管道任务来完成它,但我不确定在发布之间保持状态的最佳方式。这里有某种模式吗?目前我正在考虑的任务只是在指定的存储帐户中创建一个配置文件来存储状态并在版本之间增加它。
azure-devops - Azure Pipelines 中文件中的变量和变量组
是否可以根据存储库中的文件创建发布管道变量或变量组。
我的用例是我们使用 liquibase 在 azure 中更新 SQL 服务器上的数据库。为了并行化,我们使用一个包含每个数据库名称的变量组(例如 db1、db2、db3),这样当我们执行管道时,它将为每个数据库启动一个代理并并行运行。这很好用,但这意味着每次 Dev/Ops 添加新数据库时,他们必须记住进入管道并将新数据库添加到相关变量组。
我想在我们的 git 存储库中有一个文件,我们可以从中填充变量/变量组,因此工程师只需要修改一个文本文件并将其提交到存储库,而无需导航管道 UI。
azure-devops - 如何停止先前排队的发布而不必一次取消它们?
我们有一个发布管道,每次构建完成时都会自动创建一个新版本。
那时,我们有一个候选版本,所以这是有道理的。每个构建都可能是可发布的。
在管道中,Release 自动转到 dev。所以我们得到一个签入和构建,然后它进入开发服务器。
发布到 Stage 时有一个批准门。批准通常需要一段时间,在等待批准的同时开发将继续。
现在,我们有 10 - 15 个构建被列为排队。
所以,我需要自动取消每一个,以便开始发布最新版本的阶段。
有没有办法在更新版本进入队列时自动取消发布,或者我应该在开发阶段创建一个 POST-approval 让它保持在阶段之外,直到有人在该发布版本上点击“开始”?
我用对了吗?
azure-devops - 构建 AzureRM 客户端时出错:从 Azure CLI 填充客户端 ID 时出错:未找到授权令牌
您之前是否遇到过主题行中提到的错误?我对此很感兴趣并且无法解决。以下是我为创建服务主体而执行的步骤
运行 terraform 计划,如下所示:
现在,我再次运行 terraform 并收到未找到授权令牌的错误消息!
请注意,我在 1. CentOS 7.6 2. Ubuntu 16.04 3. Azure Pipelines Release Pipeline(使用 Ubuntu 16.04 代理)上进行了测试并且表现出相同的行为
更新:当我尝试创建 SP 时遇到一个奇怪的错误。我已经有了默认订阅,但仍然运行以下命令并收到错误:
错误信息:
我进一步深入了解这与 azure 令牌有关,因为我可以使用 Azure CLI 本身创建 VM 实例,请参阅以下证据:
它没有启动虚拟机,但至少它很清楚,如果大小合适,它能够继续进行。
azure - 在 Azure DevOps 发布管道中控制作业顺序
我有一个跨越多个部署组的复杂版本,我计划使用第 3 方vsts-git-release-tag扩展来标记该版本。理想情况下,整个发布(所有作业)在标记存储库之前首先会成功。
因此,我正在尝试找出实现这一目标的最佳方法。如果这是一个构建管道而不是部署管道,很明显我可以使用 来dependsOn
安排它们,如下所示。
但是,在本文档中指定的发布管道中似乎没有等效的功能(至少目前是这样)。
笔记
目前仅在构建管道中支持并行运行多个作业。发布管道尚不支持它。
虽然它没有特别提到该dependsOn
功能,但似乎没有办法在发布管道中使用它(如果我错了,请纠正我)。
我意识到我可能可以创建一个单独的阶段,其中包含一个作业和任务来创建 Git 标签,但这感觉就像一个 hack。在所有其他发布作业完成后,是否有更好的方法来运行特定发布作业?