如何即时从发布中排除部署组目标
How exclude Deployment Group Target from Release on the fly
我有一个包含 X 台服务器的部署组。
我已经创建并设置了我的发布管道以按预期工作。
当我 运行 它时,它会部署到我的部署组下的所有服务器。
(我确实按特定标签进行过滤,但这无关紧要)
我现在需要的是能够在部署期间动态地 filter/exclude 服务器(例如:仅在第一台服务器上部署,其余服务器保持不变)
类似下面的内容(截取自支持此功能的八达通)
我正在尝试将一些发布定义从 Octopus 迁移到 Azure Pipelines,这阻碍了我。
How deploy Release on subset of Deployment Group servers
通常,我们使用机器标签来限制部署到特定的目标服务器集。
当部署组用于 Deployment group job。
时,您分配的标签允许您限制部署到特定服务器
此外,您还可以在组织设置的部署池中禁用目标。
更新:
这里是 uservoice 允许用户即时从发布中排除部署目标。对此感兴趣的朋友可以投票和追踪。
由于 Azure Pipelines 不支持,我最终使用了一种解决方法:
创建一个包含我的 4 个服务器名称的管道变量。
在我的步数上添加自定义条件
'and(succeeded(), contains(variables['IncludedServers'],variables['Agent.MachineName']))
3.Edit 变量,如果需要,在创建发布时
我确实想改进一些东西,比如 contains 表达式,这样当我有子字符串时就不会出现误报问题。
它并不完美,因为可能会出现拼写错误,但它可能是一个可以接受的解决方法。
希望微软能增加官方支持。
我在这里再次添加功能请求 link,如果您觉得有用,请点赞。
Allow users to Exclude Deployment Targets from Release on the fly
我们可以创建自定义变量并将其用作部署组作业下的标签名称。带有服务器的部署组应该有适当的匹配标签来动态过滤服务器。这样,我们只需根据需要更新部署组和自定义变量,即可通过发布管道部署工件。
我有一个包含 X 台服务器的部署组。
我已经创建并设置了我的发布管道以按预期工作。
当我 运行 它时,它会部署到我的部署组下的所有服务器。
(我确实按特定标签进行过滤,但这无关紧要)
我现在需要的是能够在部署期间动态地 filter/exclude 服务器(例如:仅在第一台服务器上部署,其余服务器保持不变)
类似下面的内容(截取自支持此功能的八达通)
我正在尝试将一些发布定义从 Octopus 迁移到 Azure Pipelines,这阻碍了我。
How deploy Release on subset of Deployment Group servers
通常,我们使用机器标签来限制部署到特定的目标服务器集。
当部署组用于 Deployment group job。
时,您分配的标签允许您限制部署到特定服务器此外,您还可以在组织设置的部署池中禁用目标。
更新:
这里是 uservoice 允许用户即时从发布中排除部署目标。对此感兴趣的朋友可以投票和追踪。
由于 Azure Pipelines 不支持,我最终使用了一种解决方法:
创建一个包含我的 4 个服务器名称的管道变量。
在我的步数上添加自定义条件
'and(succeeded(), contains(variables['IncludedServers'],variables['Agent.MachineName']))
3.Edit 变量,如果需要,在创建发布时
我确实想改进一些东西,比如 contains 表达式,这样当我有子字符串时就不会出现误报问题。
它并不完美,因为可能会出现拼写错误,但它可能是一个可以接受的解决方法。 希望微软能增加官方支持。
我在这里再次添加功能请求 link,如果您觉得有用,请点赞。
Allow users to Exclude Deployment Targets from Release on the fly
我们可以创建自定义变量并将其用作部署组作业下的标签名称。带有服务器的部署组应该有适当的匹配标签来动态过滤服务器。这样,我们只需根据需要更新部署组和自定义变量,即可通过发布管道部署工件。