azure - 如何使用 azure cli 更改或更新 azure 管道上的预部署条件?
解决方案
我不相信这个az devops
扩展支持 UI 风格的管道,而且很可能不会,因为多阶段 YAML 管道是当前的未来。不过,用于此更改的 REST API 非常简单,您可以使用 powershell 轻松解决此问题。
string collectionUri = args[0];
string projectName = args[1];
string patToken = args[2];
int releaseId = int.Parse(args[3]);
VssConnection connection = new VssConnection(new Uri(collectionUri), new VssBasicCredential("username", patToken));
ReleaseHttpClient client = connection.GetClient<ReleaseHttpClient>();
var release = client.GetReleaseAsync(projectName, releaseId).Result;
var variableValue = new ConfigurationVariableValue();
variableValue.Value = "bar";
release.Variables.Add("foo", variableValue);
var updatedRelease = client.UpdateReleaseAsync(release, projectName, releaseId).Result;
开源vsteam
工具还可以选择获取和更新发布定义:
PS C:\> $b = Get-VSTeamReleaseDefinition -ProjectName Demo -Id 23 -Raw
PS C:\> $b.variables.subscriptionId.value = 'Some New Value'
PS C:\> $body = $b | ConvertTo-Json -Depth 100
PS C:\> Update-VSTeamReleaseDefinition -ProjectName Demo -ReleaseDefinition $body
要获取版本 ID,可以查询一个项目中的所有版本。并且存在类似的调用来查询帐户中的所有项目。
PS C:\> Get-VSTeamReleaseDefinition -ProjectName demo
推荐阅读
- react-native - UNAuthorizationOptionProvisional 在使用 react-native 时不显示通知权限警报
- inno-setup - 在 Inno Setup 完成页面中添加自定义消息
- typescript - typescript npm package - how to not having to import from "dist/"
- java - 如何在 Java 中为“image/*”的 String.matches() 制作有效的正则表达式?
- c# - async await 不符合预期的实际例子
- ios - 使用 xcode 构建失败问题
- ios - 删除 UIStackView 中的自定义间距
- mysql - jpa自定义查询多个参数
- c# - 使用 EF Core 和条件 WHERE 子句从数据库读取行时出现问题
- ssl - 如何使用 Rabbitmq 与 SSL 通信?