用途
Azure WebApp Config 是一个共享技能,专门用于管理 Azure App Service 的应用设置(appsettings)。它面向需要在多个仓库之间统一维护 Azure Web Apps 环境变量的场景,帮助开发者以可复用、可预览的方式添加、更新或删除应用设置。
主要能力
- 支持每次运行操作一个或多个应用。
- 支持来自 references/profiles.tsv 的仓库专属配置档案(profiles)。
- 支持通过 --app 与 --resource-group 直接指定目标,无需使用档案。
- 支持使用 --set KEY=VALUE(可重复)暂存设置。
- 支持使用 --env-file <path> 从文件暂存设置。
- 支持 --dry-run 先预览变更,再正式应用。
- 支持 --restart 在设置更新后强制重启应用。
- 支持使用 Key Vault 引用值处理类密钥设置,避免将原始密钥直接写入 appsettings。
使用方式
首先选择目标方式:
- 使用 --profile <name> 指定已知的仓库/应用组。
- 使用 --app <name> --resource-group <rg> 指定临时目标。
然后通过以下一种或两种方式暂存设置:
- --set KEY=VALUE(可重复)
- --env-file <path>
建议先使用 --dry-run 运行,确认无误后再去掉 --dry-run 正式应用。可选添加 --restart 在设置更新后强制重启应用。
对于类密钥设置,使用 Key Vault 引用值:
@Microsoft.KeyVault(SecretUri=https://<vault>.vault.azure.net/secrets/<secret-name>/)
不要将原始密钥值直接写入 appsettings。
命令示例
列出可用档案:
python3 .agents/skills/azure-webapp-config/scripts/set_appsettings.py --list-profiles
通过档案应用设置:
python3 .agents/skills/azure-webapp-config/scripts/set_appsettings.py
--profile win-backend
--set EXAMPLE_FLAG=true
--dry-run
通过档案应用 Key Vault 引用:
python3 .agents/skills/azure-webapp-config/scripts/set_appsettings.py
--profile win-backend
--set "EXAMPLE_SECRET=@Microsoft.KeyVault(SecretUri=https://kv-shared-repos.vault.azure.net/secrets/win--example-secret/)"
--dry-run
通过显式应用目标应用设置:
python3 .agents/skills/azure-webapp-config/scripts/set_appsettings.py
--app aipodcasting-app
--resource-group aipodcasting
--set FEATURE_X=true
适用场景
- 在多个仓库中统一管理 Azure Web Apps 的环境变量。
- 需要为不同仓库或应用组维护可复用的配置档案。
- 需要以可预览、可回滚的方式批量更新应用设置。
- 需要在更新设置后自动重启应用。
- 需要以 Key Vault 引用方式安全地管理类密钥设置。
限制
- 该技能仅管理 Azure appsettings。
- 仓库专属的后续步骤(例如重建 Modal secrets)应保留在仓库本地的包装技能中。
- 密钥不应保存在 git 跟踪的文件中。
- --env-file 功能强大,应避免将 .env 文件盲目地提供给生产应用。