AWS.Deploy.Tools 1.23.4
前缀已保留
dotnet tool install --global AWS.Deploy.Tools --version 1.23.4
dotnet new tool-manifest # if you are setting up this repo dotnet tool install --local AWS.Deploy.Tools --version 1.23.4
#tool dotnet:?package=AWS.Deploy.Tools&version=1.23.4
nuke :add-package AWS.Deploy.Tools --version 1.23.4
AWS .NET 部署工具
概述
此存储库包含用于.NET CLI的AWS部署工具 - 这是一种可确定性的工具,可简化.NET应用程序的部署。该工具建议正确的AWS计算服务将应用程序部署到。然后根据所选计算服务的需求构建并打包您的应用程序,生成部署基础设施,使用适当的部署引擎(云开发工具包(CDK)或原生服务API)部署您的应用程序,并显示端点。
该工具假定对AWS的最少知识。它旨在指导您完成部署过程并提供默认建议。该工具将显示所有可用的计算服务选项以部署您的应用程序,并会推荐默认选项,并解释为什么选择了该选项。其他计算服务选项将显示其差异的说明。如果选择的计算选项不符合您的需求,您可以根据需求选择不同的计算服务。
部署工具的目标是部署使用.NET Core 3.1及以上版本构建的云本原地.NET应用程序。云本原地.NET应用程序是用.NET编写的,目的是部署到Linux。它不依赖于任何特定于Windows的技术,例如Windows注册表、IIS或MSMQ,并且可以在虚拟计算上部署。此工具 不能 用于部署.NET Framework、桌面、Xamarin或其他不符合“云本地上”标准的应用程序。
我们欢迎您的反馈!请通过打开一个 问题 来告诉我们您的看法。
有用链接
- GitHub.io上完整的文档指南
- 为项目做出贡献
- NuGet上的.NET AWS部署工具
- 博客文章
- YouTube视频
先决条件
要利用此库,您需要以下内容
- 一个本地凭证配置文件已配置在共享AWS配置和凭证文件中的AWS账户。
- 可以通过多种工具配置本地凭证配置文件。例如,可以使用AWS Toolkit for Visual Studio或AWS CLI等工具配置凭证配置文件。
- 注意:您需要确保为凭证的配置文件/假定角色添加适当的CloudFormation权限。
- 关于SSO,请访问.NET SDK参考指南。
- .NET 6或更高版本
- Node.js 14或更高版本
- 该工具使用AWS Cloud Development Kit (CDK)来创建应用程序运行的AWS基础设施。CDK需要Node.js才能运行。这个依赖项对于基于CDK的部署是必需的。如果您将使用非基于CDK的部署,则不需要此依赖项。
- (可选) Docker
- 在部署到基于容器的服务(如Amazon Elastic Container Service (Amazon ECS))时使用
- (可选) Zip CLI工具
- 仅限Mac/Linux系统。用于创建部署软件包的zip包。ZIp CLI用于维持Linux文件权限。
入门指南
该部署工具作为NuGet.org上的.NET工具分发。工具的安装由dotnet CLI manage。
安装工具
要安装部署工具,使用dotnet工具安装命令
dotnet tool install -g aws.deploy.tools
要更新到部署工具的最新版本,使用dotnet工具更新命令。
dotnet tool update -g aws.deploy.tools
要卸载它,只需输入
dotnet tool uninstall -g aws.deploy.tools
安装工具后,您可以通过键入来查看可用的命令列表
dotnet aws --help
要获取有关 deploy 或 delete-deployment 等单个命令的帮助,您可以在命令中使用 --help
选项。例如,要获取 deploy 命令的帮助,请键入
dotnet aws deploy --help
部署您的应用程序
要将您的应用程序部署,请cd
到包含.csproj或.fsproj文件的目录,并输入
dotnet aws deploy
(或者可以使用--project-path
选项指定特定目录或项目文件。)
您将需要输入应用程序将要部署到的栈的名称。 (栈 是您可以将它作为一个单元进行管理的一组 AWS 资源。换句话说,您可以通过创建、更新或删除栈来创建、更新或删除一组资源。)
输入栈名称后,部署工具的建议引擎将检查您的项目代码库,并提供您部署应用程序的建议。如果可能的话,该工具还将显示其他兼容的部署方式以供您选择。
Name the AWS stack to deploy your application to
(a stack is a collection of AWS resources that you can manage as a single unit.)
--------------------------------------------------------------------------------
Enter value (default MyApplication):
Recommended Deployment Option
-----------------------------
1: ASP.NET Core App to Amazon ECS using Fargate
ASP.NET Core applications built as a container and deployed to Amazon Elastic Container Service (ECS) with compute power managed by AWS Fargate compute engine. Recommended for applications that can be deployed as a container image. If your project does not contain a Dockerfile, one will be generated for the project.
Additional Deployment Options
------------------------------
2: ASP.NET Core App to AWS Elastic Beanstalk on Linux
Deploy an ASP.NET Core application to AWS Elastic Beanstalk. Recommended for applications that are not set up to be deployed as containers.
Choose deployment option (recommended default: 1)
支持的应用程序类型
ASP.NET Core网络应用程序
ASP.NET Core应用程序可以部署到带有AWS Elastic Beanstalk的虚拟服务器或带有Amazon Elastic Container Service (Amazon ECS) 和AWS App Runner的容器中。如果您想将应用程序作为容器部署,并且项目还没有Dockerfile
,则在部署期间将为您的项目生成一个Dockerfile
。使用部署工具,您可以使用AWS Cloud Development Kit (CDK)将ASP.NET Core Web应用程序部署到AWS。对于从以前的AWS Visual Studio Toolkit经验中来的用户,如果您之前有Elastic Beanstalk部署和环境,您可以使用部署工具部署到这些环境。
Elastic Beanstalk向后兼容性支持
目前,AWS Visual Studio工具包允许用户通过使用后端AWS .NET SDK进行部署的向导,将他们的ASP.NET Core Web应用程序部署到Elastic Beanstalk。此过程使用AWS .NET SDK创建了必要的Elastic Beanstalk资源,例如Beanstalk应用程序和Elastic Beanstalk环境。
部署工具使用AWS CDK向AWS执行部署,它创建一个管理所有Elastic Beanstalk资源的CloudFormation堆栈。除了CloudFormation堆栈外,该工具还支持部署到使用较旧的AWS Toolkit for Visual Studio创建的现有Elastic Beanstalk环境。
部署工具将检测您AWS账户中的现有Elastic Beanstalk环境,并将它们与CloudFormation堆栈并列显示。您可以将应用程序部署到现有的Beanstalk环境,并更新必要的环境设置。部署将使用AWS .NET SDK进行。
注意:将部署到现有Beanstalk环境不会将现有资源迁移到CloudFormation。要创建新的CloudFormation堆栈,您需要明确定义将应用程序部署到新的部署目标。
Blazor WebAssembly应用程序
Blazor WebAssembly应用程序可以部署到Amazon S3存储桶中进行Web托管。该工具将自动创建和配置Amazon S3存储桶,并将您的Blazor应用程序上传到S3存储桶。
长期运行的服务应用程序
旨在无限期运行的程序可以部署为Amazon ECS服务。这对于处理消息的后端服务来说是常见的。应用程序将作为容器镜像部署。如果您的项目还没有Dockerfile
,则在部署期间将为您的项目生成一个。
计划任务
需要定期运行的程序,例如每小时运行一次,可以使用Amazon ECS和Amazon CloudWatch Events部署为计划任务。应用程序将作为容器镜像部署。如果您的项目还没有Dockerfile
,则在部署期间将为您的项目生成一个。
支持的AWS服务
AWS Elastic Beanstalk
AWS Elastic Beanstalk是一个易于使用的服务,用于部署和扩展Web应用程序和服务。Elastic Beanstalk自动处理部署,从容量配置、负载均衡、自动扩展到应用程序健康监控。同时,您仍然可以完全控制应用程序使用的AWS资源,并且可以随时访问底层资源。
Amazon Elastic Container Service
Amazon ECS是一种全面管理的容器编排服务,帮助您轻松部署、管理和扩展容器化应用程序。它与整个AWS平台深刻集成,以提供一个安全且易于使用的解决方案,用于在云中运行容器工作负载,并且现在可以通过Amazon ECS Anywhere在您的基础设施上运行。
AWS App Runner
AWS App Runner 是一项全托管服务,使开发者能够轻松、快速地以可扩展的方式部署容器化网络应用程序和API,无需任何先前的基础设施经验。您可以从源代码或容器镜像开始。App Runner 会自动构建和部署网络应用程序,使用加密进行流量负载均衡,根据您的流量需求进行扩展,并简化您的服务与其他 AWS服务以及运行在私有 Amazon VPC 中的应用程序的通信。使用 App Runner,您无需考虑服务器或扩展,可以花更多时间专注于您的应用程序。
获取帮助
若要对本工具或功能请求或问题进行反馈,请在此存储库中打开一个问题:https://github.com/aws/aws-dotnet-deploy/issues。
贡献
我们欢迎社区贡献和提交流程。有关如何设置开发环境并提交代码的信息,请参阅CONTRIBUTING.md。
其他资源
- AWS 开发者中心 - 探索 AWS 上的 .NET 一个地方找到您所需的所有 .NET 代码示例、分步指南、视频、博客内容和有关现场活动的信息。
- AWS 开发者博客 - .NET 了解 AWS 的 .NET 开发者正在做什么!了解关于新 .NET 软件公告、指南和教程。
- @dotnetonaws 关注我们!
许可证
产品 | 版本 兼容和额外的计算目标框架版本。 |
---|---|
.NET | net6.0 兼容。 net6.0-android 已计算。 net6.0-ios 已计算。 net6.0-maccatalyst 已计算。 net6.0-macos 已计算。 net6.0-tvos 已计算。 net6.0-windows 已计算。 net7.0 已计算。 net7.0-android 已计算。 net7.0-ios 已计算。 net7.0-maccatalyst 已计算。 net7.0-macos 已计算。 net7.0-tvos 已计算。 net7.0-windows 已计算。 net8.0 已计算。 net8.0-android 已计算。 net8.0-browser 已计算。 net8.0-ios 已计算。 net8.0-maccatalyst 已计算。 net8.0-macos 已计算。 net8.0-tvos 已计算。 net8.0-windows 已计算。 |
本包没有依赖。
版本 | 下载 | 最后更新 |
---|---|---|
1.23.4 | 3,763 | 8/6/2024 |
1.22.5 | 21,755 | 7/22/2024 |
1.21.13 | 6,026 | 7/8/2024 |
1.20.8 | 33,077 | 4/25/2024 |
1.19.13 | 82,207 | 3/21/2024 |
1.18.6 | 64,542 | 1/4/2024 |
1.17.6 | 20,970 | 11/18/2023 |
1.16.7 | 69,971 | 10/20/2023 |
1.15.7 | 10,551 | 9/22/2023 |
1.14.6 | 22,152 | 7/3/2023 |
1.13.4 | 7,560 | 6/8/2023 |
1.12.3 | 15,718 | 3/31/2023 |
1.11.6 | 307,652 | 3/8/2023 |
1.10.4 | 51,490 | 1/13/2023 |
1.9.4 | 966 | 1/6/2023 |
1.8.8 | 683 | 12/16/2022 |
1.7.3 | 706 | 11/9/2022 |
1.6.4 | 43,810 | 11/3/2022 |
1.5.4 | 11,894 | 10/6/2022 |
1.4.10 | 506 | 9/29/2022 |
1.3.7 | 572 | 9/8/2022 |
1.2.4 | 39,048 | 8/24/2022 |
1.1.15 | 725 | 8/5/2022 |
1.0.3 | 35,506 | 7/5/2022 |
0.50.2 | 33,349 | 6/29/2022 |
0.49.14 | 529 | 6/28/2022 |
0.48.15 | 611 | 6/23/2022 |
0.47.26 | 15,970 | 6/17/2022 |
0.46.16 | 22,586 | 6/2/2022 |
0.45.9 | 18,890 | 5/23/2022 |
0.44.9 | 33,974 | 5/12/2022 |
0.43.6 | 3,805 | 5/4/2022 |
0.42.10 | 3,186 | 4/27/2022 |
0.41.4 | 29,259 | 4/25/2022 |