在Azure Pipeline中更新Azure变量组并维护React/.NET的xxx.json
Azure Pipeline变量组与xxx.json文件操作指南
一、在YAML中引用变量组
要在Pipeline中使用已创建的变量组,需在YAML配置里添加引用:
variables: - group: my-variable-group
二、xxx.json文件的初始化与变量值更新
注意你提供的xxx.json存在语法错误(缺少键名),修正后的标准格式示例如下:
{ "API_ENDPOINT": "https://api.example.com", "LOCAL_ENDPOINT": "https://localhost" }
1. 初始化xxx.json文件
- 若项目中无此文件,直接在对应配置目录(如项目根目录、React的
public目录、.NET的Properties目录)创建上述格式的JSON文件,定义好需要动态替换的键名,初始值可设为占位符(如{{API_ENDPOINT}})或默认值。 - 将该文件纳入版本控制,确保Pipeline能读取并修改。
2. React项目中更新变量值
React项目推荐通过Pipeline任务替换文件内容:
- 使用
Replace Tokens任务:- 在YAML中添加任务,指定目标文件路径,配置令牌的前缀/后缀,将文件占位符替换为变量组的值:
- task: replacetokens@5 inputs: rootDirectory: '$(Build.SourcesDirectory)/public' # React项目配置文件所在路径 targetFiles: 'xxx.json' tokenPattern: 'default' tokenPrefix: '{{' tokenSuffix: '}}'- 提前将
xxx.json的内容改为占位符形式:
{ "API_ENDPOINT": "{{API_ENDPOINT}}", "LOCAL_ENDPOINT": "{{LOCAL_ENDPOINT}}" } - 使用Bash/PowerShell脚本替换:
Bash脚本示例:sed -i "s|\"API_ENDPOINT\": \".*\"|\"API_ENDPOINT\": \"$(API_ENDPOINT)\"|g" public/xxx.json
3. .NET项目中更新变量值
.NET项目可通过以下两种方式实现:
Replace Tokens任务:
配置方式与React类似,只需将目标文件路径改为.NET项目中xxx.json的位置(如Properties/xxx.json)即可。- MSBuild传递变量:
- 在
.csproj文件中添加配置,开启构建时的文件转换:
<ItemGroup> <None Update="xxx.json"> <TransformOnBuild>true</TransformOnBuild> </None> </ItemGroup>- 在Pipeline的MSBuild任务中传入变量组的值:
- task: MSBuild@1 inputs: solution: '**/*.sln' msbuildArguments: '/p:API_ENDPOINT=$(API_ENDPOINT)' - 在
三、更新Azure变量组的内容
有两种常规方式更新变量组:
- Azure DevOps门户操作:
进入项目的库->变量组,找到目标组后点击编辑,可直接添加、修改或删除变量,完成后保存即可。 - CLI/REST API自动化更新:
使用Azure DevOps CLI示例(需提前安装扩展并完成身份验证):az pipelines variable-group variable update --group-id <变量组ID> --name <变量名> --value <新值> --org <组织URL> --project <项目名>
内容的提问来源于stack exchange,提问作者kanchan narula
相关产品推荐
相关产品推荐

