冠军

导航

aspirate 工具

dotnet tool aspirate

https://www.nuget.org/packages/aspirate/0.1.40-preview

作为全局工具安装

dotnet tool install -g aspirate --prerelease

注意:由于 Aspirete 还在开发中,它现在以预览版的形式发布,使用 --prelease 参数将使用最新的预览版

加工清单

跳转到你的 Aspire 项目中的 AppHost 目录中,然后执行

aspirate generate

该命令 (默认) 将对选中的项目进行构建,然后将容器推送到提供的容器 registry 中。构建可以通过使用参数 --skip-build 来跳过。

默认情况下,你的清单文件将保存在 AppHost/aspirate-output 文件夹中。

如果你愿意,你可以生成一个精简版的 docker-compose 部署,而不是 kubenetes 部署。此时,你可以提供参数 --output-format compose 来达成。请注意,这将导致禁用密钥支持。

aspirate generate --output-format compose

构建

构建命令 build 将构建定义在 aspire 清单中的所有项目,并推送容器到提供的容器 registry 中。

该命令对于重新构建并推送容器到 registry 特别有用,使用一个简单的菜单来选择你希望构建的项目。

该命令将首先创建清单文件,不过该行为可以通过使用参数 --aspire-manifest 或者 -m 并提供现有清单文件的路径来覆盖掉。

aspirate build

密钥管理

Aspirate 现在内置支持强大的密钥管理,允许你简单地加密敏感数据,例如连接串等等。该特性旨在增强安全性和最大限度减少漏洞。

管理密钥

generateapply 过程中,系统将提示您输入密码。此密码用于加密位于 aspirate-output 目录中的名为 aspirate-secrets.json 的密钥文件中的密钥。

密钥文件内容

密钥文件包含加密的密钥,可以安全地提交到 Git 存储库。但是,请小心处理此密码。如果丢失,您将无法访问加密的密钥,需要使用 generate 命令创建一个新密钥。

生成密钥

generate 命令在生成过程中提供了一个交互式菜单,允许您使用现有密钥、覆盖它们或更新它们。

应用密钥

apply 命令将解密 secrets 文件,并将 secrets 与所有清单一起应用于群集。

禁用机密管理

如果不需要密钥,则可以将 --disable-secrets 标志传递给所有命令以禁用密钥功能。但是,一旦生成包含机密的清单,则如果不重新生成清单,就无法禁用它们。

应用清单

若要将清单应用于群集,请运行:

aspirate apply

Aspirate 将首先询问您希望操作的上下文,并首先确认您希望采取行动。

删除清单

若要从群集中删除清单,请运行:

aspirate destroy

Aspirate将首先询问希望操作的上下文,并首先确认您希望采取行动。

初始化

init 命令允许您为 Aspire 将使用的 aspire 项目引导某些设置。

  • ContainerRegistry:设置此项意味着您不需要在 csproj 中配置,如果找不到它
    • 所有构建都将使用它。
  • ContainerTag - 将覆盖使用的容器标记(如果不在 csproj 中 - 如果未在设置中指定),将回退到 latest。
  • TemplatePath - 这自定义了加载转换为清单的模板时使用的路径,您可以从源中获取模板文件夹,并使用所有自定义更改进行修改,只要您不删除占位符,aspirate 将使用这些占位符而不是其内置。当我们有文档时,更多关于这一点和可能的用例(例如添加作业以创建数据库等)......

要使用 init 命令,只需运行:

aspirate init

从您的 AppHost 目录中 - 它会询问您要覆盖哪些设置。

非交互式调用

除了 generate 之外的所有命令都可以通过传递 --non-interactive 标志以非交互方式调用。如果禁用了机密,则可以使用 Generate。

这将导致工具使用默认上下文,并且不提示确认。

使用此标志时,必须在命令行上传递所有配置参数。

卸载工具

Aspirate 可以通过执行下面的命令进行全局卸载

dotnet tool uninstall -g aspirate

配置 Windows 终端以支持 Unicode 和表情符号

Windows 终端支持 Unicode 和 Emoji。但是,Powershell 和 cmd.exe 等 shell 则不然。有关两者之间的区别,请参阅 控制台、终端和 shell 之间的区别

对于 PowerShell,以下命令将启用 Unicode 和表情符号支持。您可以将此添加到 profile.ps1 文件中:

[console]::InputEncoding = [console]::OutputEncoding = [System.Text.UTF8Encoding]::new()

对于cmd.exe,需要以下步骤才能启用 Unicode 和 Emoji 支持。

  1. 运行intl.cpl。
  2. 单击“管理”选项卡
  3. 单击“更改系统区域设置”按钮。
  4. 选中“使用 Unicode UTF-8 获得全球语言支持”复选框。
  5. 重新启动。

您还需要确保将控制台应用程序配置为使用支持 Unicode 和表情符号的字体,例如 Cascadia Code。

DevContainer 支持

通过安装以下功能,可以在 devcontainer 中使用 Aspirate:

features“: {
  “ghcr.io/prom3theu5/aspirational-manifests/aspirate:latest”: {}
}

可以在文档页面上找到 devcontainer 的示例: 详见这里

posted on 2024-04-03 15:05  冠军  阅读(178)  评论(0编辑  收藏  举报