我正在构建我的第一个 .NET Aspire 应用程序,并正在试用 Azure 开发人员 CLI 提供的部署功能。
我使用
azd init
初始化了我的 AppHost 项目,并将我的环境命名为 dev
。
接下来,我执行了
azd up
命令,该命令在 Azure 中配置资源并部署我的应用程序。不过,我不喜欢资源组的名称 (rg-dev),因此我删除了 Azure 中的资源组,因为 this 文档指出 Aspire 中没有内置的方法来清理资源。
然后我修改了
azure.yaml
文件以设置不同的资源组。修改后的 YAML 现在看起来像:
# yaml-language-server: $schema=https://raw.githubusercontent.com/Azure/azure-dev/main/schemas/v1.0/azure.yaml.json
name: ProjectName.AppHost
resourceGroup: rg-projectname-${AZURE_ENV_NAME}
services:
app:
language: dotnet
project: ./ProjectName.AppHost.csproj
host: containerapp
当我接下来执行
azd up
时,我收到以下错误:
错误:执行步骤命令“deploy --all”时出错:部署服务“webui”失败:登录注册表失败:登录容器注册表失败,令牌:获取 ACR 令牌失败:发布“https://resourcename.azurecr. io/oauth2/exchange": 拨号 tcp: 查找资源名称.azurecr.io: 没有这样的主机,管理员:找不到名称为“resourcename”且 subscriptionId 为“subscriptionid”的注册表
我从
resourceGroup
中删除了 azure.yaml
属性,回到原来的部署状态。 azd up
命令导致了以下错误:
错误:执行步骤命令“deploy --all”时出错:获取资源组名称:获取环境的默认资源组:dev:找不到资源:0 个前缀或后缀值为“dev”的资源组
这让我相信
azd
以某种方式缓存以前的部署并尝试将应用程序重新部署到相同的资源。我删除了 azd init
创建的所有文件和文件夹。具体来说,如下:
.azure 目录 .gitignore 文件 azure.yaml 文件 next-steps.md 文件
我重新运行
azd init
命令,然后运行 azd up
,但出现了相同的错误。
如何让
azd
“忘记”其之前的部署并重新部署应用程序?另外,是否有不同的方式来清理资源以避免遇到此问题?
任何帮助或建议将不胜感激。
我设法通过修改需要重新配置操作的 AppHost 来解决此问题。具体来说,我删除了 SQL Server 资源以及对其的 Web 应用程序引用。
执行
azd up
命令似乎强制进行新的部署,按预期配置和部署应用程序。
我在Azure Developer CLI的帮助文档中找到了
azd down
命令。这似乎是清理资源的方法,而不是从 Azure 手动删除资源组。