84个版本 (40个稳定版)
新 1.41.0 | 2024年8月16日 |
---|---|
1.38.0 | 2024年7月22日 |
1.19.0 | 2024年3月26日 |
1.10.0 | 2023年12月21日 |
0.0.0 |
|
#3 in #deployment
每月464次下载
5MB
72K SLoC
aws-sdk-codedeploy
CodeDeploy 是一种部署服务,可自动化将应用程序部署到 Amazon EC2 实例、您自己设施中运行的本地实例、无服务器 Lambda 函数或 Amazon ECS 服务中的应用程序。
您可以部署各种应用程序内容,例如更新的 Lambda 函数、Amazon ECS 服务中的应用程序更新、代码、网页和配置文件、可执行文件、软件包、脚本、多媒体文件等。CodeDeploy 可以部署存储在 Amazon S3 存储桶、GitHub 仓库或 Bitbucket 仓库中的应用程序内容。您在使用 CodeDeploy 之前无需对现有代码进行更改。
CodeDeploy 使您能够快速发布新功能,帮助您在应用程序部署期间避免停机时间,并处理更新应用程序的复杂性,而无需承担与易出错的手动部署相关的许多风险。
CodeDeploy 组件
使用本指南中的信息帮助您使用以下 CodeDeploy 组件
- 应用程序:一个唯一标识您要部署的应用程序的名称。CodeDeploy 使用此名称,该名称作为一个容器,以确保在部署期间正确引用修订版本、部署配置和部署组。
- 部署组:一组单个实例、CodeDeploy Lambda 部署配置设置或 Amazon ECS 服务和网络详细信息。Lambda 部署组指定如何将流量路由到 Lambda 函数的新版本。Amazon ECS 部署组指定在 Amazon ECS 中创建的服务以部署、负载均衡器和监听器,以将生产流量重定向到更新的容器化应用程序。Amazon EC2/本地部署组包含单独标记的实例、Amazon EC2 实例在 Amazon EC2 自动扩展组中,或两者都有。所有部署组都可以指定可选的触发器、警报和回滚设置。
- 部署配置:CodeDeploy在部署过程中使用的一组部署规则和部署成功与失败条件。
- 部署:更新Lambda函数、Amazon ECS服务中的容器化应用程序或在一个或多个实例上安装内容时使用的流程和组件。
- 应用程序修订版:对于Lambda部署,这是一个AppSpec文件,指定了要更新的Lambda函数以及一个或多个用于验证部署生命周期事件的函数。对于Amazon ECS部署,这是一个AppSpec文件,指定了Amazon ECS任务定义、容器和重定向生产流量的端口。对于EC2/本地部署,这是一个包含源内容(源代码、网页、可执行文件和部署脚本)以及AppSpec文件的存档文件。修订版存储在Amazon S3存储桶或GitHub仓库中。对于Amazon S3,修订版由其Amazon S3对象键和ETag、版本或两者唯一标识。对于GitHub,修订版由其提交ID唯一标识。
本指南还包含有关获取部署中实例详细信息的信息,使本地实例可用于CodeDeploy部署,获取Lambda函数部署的详细信息,以及获取Amazon ECS服务部署的详细信息。
CodeDeploy信息资源
入门指南
许多服务和操作都提供了示例,请查看GitHub中的示例文件夹。
SDK为每个AWS服务提供一个crate。您必须在Rust项目中将Tokio作为依赖项添加,以执行异步代码。要将aws-sdk-codedeploy
添加到您的项目中,请将以下内容添加到您的Cargo.toml
文件中:
[dependencies]
aws-config = { version = "1.1.7", features = ["behavior-version-latest"] }
aws-sdk-codedeploy = "1.41.0"
tokio = { version = "1", features = ["full"] }
然后在代码中,可以使用以下方式创建客户端:
use aws_sdk_codedeploy as codedeploy;
#[::tokio::main]
async fn main() -> Result<(), codedeploy::Error> {
let config = aws_config::load_from_env().await;
let client = aws_sdk_codedeploy::Client::new(&config);
// ... make some calls with the client
Ok(())
}
有关可以进行的调用及其输入输出的信息,请参阅客户端文档。
使用SDK
在SDK发布之前,我们将向开发者指南中添加有关使用SDK的信息。您可以通过打开一个问题并描述您想做的事情来建议指南的额外部分。
获取帮助
- GitHub讨论 - 对于想法、RFC和一般问题
- GitHub问题 - 对于错误报告和功能请求
- 生成文档(最新版本)
- 使用示例
许可
本项目根据Apache-2.0许可证授权。
依赖关系
~8–20MB
~283K SLoC