@cdklabs/cdk-ecs-codedeploy

中文文档
0.0.462发布于 2026/10/27Apache-2.0TypeScriptCommonJS构建来源已验证近 30 天下载 2.4万

CDK 用于以代码部署进行ECS部署的构造

中文使用文档
文档目录7 节
  1. 安装
  2. 部署
  3. API 卡纳里
  4. 应用程序装入平衡码
  5. 地方发展
  6. 警卫
  7. 许可证

CDK ECS 代码部署

cdk-constructs: Experimental npm version Maven Central PyPI version NuGet version Gitpod Ready-to-Code Mergify

该项目包含创建代码部署ECS部署的CDK架构.

安装

类型脚本
yarn add @cdklabs/cdk-ecs-codedeploy
爪哇语

见 https://mvnrepository.com/artifact/io.github.cdklabs/cdk-ecs-codeploy 互联网档案馆的存檔,存档日期2013-12-22

蟒

见 https://pypi.org/project/cdklabs.ecs-codedploy/ 页面存档备份,存于互联网档案馆

C# (韩语)

见 https://www.nuget.org/packages/Cdklabs. CdkEcsCodeDeploy/ 页面存档备份,存于互联网档案馆

部署

ECS的代码部署可以管理向ECS服务部署新的任务定义. 对一个给定的EcsDependment Group只能定义一个部署构造.

declare const deploymentGroup: codeDeploy.IEcsDeploymentGroup;
declare const taskDefinition: ecs.ITaskDefinition;

new EcsDeployment({
  deploymentGroup,
  targetService: {
    taskDefinition,
    containerName: 'mycontainer',
    containerPort: 80,
  },
});

部署将使用自动 Rollback配置用于部署组, 除非在部署中被覆盖 :

declare const deploymentGroup: codeDeploy.IEcsDeploymentGroup;
declare const taskDefinition: ecs.ITaskDefinition;

new EcsDeployment({
  deploymentGroup,
  targetService: { 
    taskDefinition,
    containerName: 'mycontainer',
    containerPort: 80,
  },
  autoRollback: {
    failedDeployment: true,
    deploymentInAlarm: true,
    stoppedDeployment: false,
  },
});

默认,部署将在30分钟后暂停。 超时值可以被覆盖 :

declare const deploymentGroup: codeDeploy.IEcsDeploymentGroup;
declare const taskDefinition: ecs.ITaskDefinition;

new EcsDeployment({
  deploymentGroup,
  targetService: {
    taskDefinition,
    containerName: 'mycontainer',
    containerPort: 80,
  },
  timeout: Duration.minutes(60),
});

API 卡纳里

CodeDeplof可以借助"云表警报"来触发自动回滚. 这个 ApiCanary 构造简化创建 Cloud Watch 合成卡纳里以监视 API 的过程 。 以下代码显示一只金丝雀 监视 https://xkcd.com/908/info.0.json (英语) 并检查JSON的答复,以断言: safe_title 具有 'The Cloud'。 。 。 .

const canary = new ApiCanary(stack, 'Canary', {
  baseUrl: 'https://xkcd.com',
  durationAlarmThreshold: Duration.seconds(5),
  threadCount: 5,
  steps: [
    {
      name: 'info',
      path: '/908/info.0.json',
      jmesPath: 'safe_title',
      expectedValue: 'The Cloud',
    },
  ],
});

应用程序装入平衡码

命名的 L3 构造 ApplicationLoadBalancedCodeDeployedFargateService 扩展 应用程序 LoadBalancedFargate Service 并添加对使用AWS CodeDeplof部署新版本服务的支持. 此外,通过该研究所创建了亚马逊云表合成金丝雀 ApiCanary 在金丝雀开始起惊动时,通过部署程序来启动回滚.

declare const cluster: ecs.ICluster;
declare const image: ecs.ContainerImage;
const service = new ApplicationLoadBalancedCodeDeployedFargateService(stack, 'Service', {
  cluster,
  taskImageOptions: {
    image,
  },
  apiTestSteps: [{
    name: 'health',
    path: '/health',
    jmesPath: 'status',
    expectedValue: 'ok',
  }],
});

地方发展

yarn install
yarn build
yarn test

要运行集成测试并更新快照,运行:

yarn integ:ecs-deployment:deploy

要重制集成测试的快照, 请运行 :

yarn integ:snapshot-all

警卫

见 捐款 更多信息.

许可证

这个项目根据Apache-2.0许可证获得许可证.

版本与发布记录

@cdklabs/cdk-ecs-codedeploy 共发布 462 个版本,首次发布于 2022/12/14;过去 12 个月发布了 41 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.0.462latest2026/10/2713 天前
0.0.4612026/10/2020 天前
0.0.4602026/10/1327 天前
0.0.4592026/10/061 个月前
0.0.4582026/09/291 个月前
0.0.4572026/09/151 个月前

关于 @cdklabs/cdk-ecs-codedeploy 的常见问题

@cdklabs/cdk-ecs-codedeploy 是什么?

CDK 用于以代码部署进行ECS部署的构造

如何安装 @cdklabs/cdk-ecs-codedeploy?

在项目目录运行 npm install @cdklabs/cdk-ecs-codedeploy,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:constructs(^10.0.5)、aws-cdk-lib(^2.233.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@cdklabs/cdk-ecs-codedeploy 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@cdklabs/cdk-ecs-codedeploy 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

@cdklabs/cdk-ecs-codedeploy 可以商用吗?

@cdklabs/cdk-ecs-codedeploy 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

@cdklabs/cdk-ecs-codedeploy 的下载量有多少?

根据 npm 官方下载统计,@cdklabs/cdk-ecs-codedeploy 在 2026/10/10 – 2026/11/08 这 30 天内被下载 23,886 次,日均约 796 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@cdklabs/cdk-ecs-codedeploy 还在维护吗?

最新版本 0.0.462 发布于 2026/10/27(13 天前);至今共发布 462 个版本,其中过去 12 个月发布了 41 个;首次发布于 2022/12/14。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。