CDK CI/CD 包装器
这个 CDK CI/CD 包装器 是一个全面解决方案,简化了您的 AWS Cloud Development Kit(CDK) 应用程序的交付。 它提供了一个强有力和标准化的多阶段的CI/CD管道,确保整个开发和部署过程的高质量和信心.
目录
导言
CDK CI/CD Wrapper在《公约》的成功基础上再接再厉 阿斯克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克 通过提供额外的工具和特点,进一步简化和规范基础设施的多阶段CI/CD程序,作为代码项目.
特征
- 多相CI/CD管道:无缝地将您的CDK应用程序部署在多个阶段(如DEV,INT,PROD)和AWS账户上.
- 安全扫描:对依赖和代码库进行安全扫描,在发现CVE时会阻断管道.
- 许可证管理:管理国家预防机制和Python附属机构的许可证,确保遵守贵组织的政策.
- 国家预防机制私人登记册: 安全储存和利用国家预防机制的私人图书馆.
- 自定义管道: 调整CI/CD管道,使之适合您项目的具体需要,并进行内置依赖性注射.
- 部署:在引入输送管道之前,单独开发并试验你的解决方案.
- 部署前/部署后钩:在每个阶段部署前后执行自定义脚本(如单位测试,功能测试,负载测试等).
- 集中合规日志:在预配置的S3桶中按阶段/环境存储达标记录.
- Lambda 层支持: 为 Python Lambda 地层构建并扫描依赖性.
开始
先决条件
在开始前,请确保您安装了下列依赖性:
- AWS账户(RES/DEV/INT/PROD)
- macOS 或 Cloud9 在 RES 账户中带有 Ubuntu 服务器 22.04 LTS 平台
- 巴什/ZSH终端
- Docker版本 QQ 24.0.x
- AWS CLI v2 (英语)安装指南(中文(简体) )
- 每一环境的AWS证书和简介
~/.aws/config(单位:千美元)配置指南(中文(简体) ) - . . . . . . . .
- jq 命令行 JSON 处理器(jq-1.7)
为了开发Python Lambdas,你还需要:
- Py 3.11
- Pipenv 2023.* (英语)安装指南(中文(简体) )
安装
-
克隆 CDK CI/CD 包装存储器 :
git clone https://github.com/your-repo/cdk-cicd-wrapper.git cd cdk-cicd-wrapper -
安装所需的依赖性 :
npm install
使用量
定义阶段
CDK CI/CD Wrapper 带有一套默认的相位(DEV,INT,PROD),但您可以轻松地扩展或修改这些相位以适应您的项目需要. 遵循文档中的分步指南来定义您想要的阶段.
配置堆栈
配置您要在每个阶段部署的 CDK 堆栈 。 CDK CI/CD Wrapper 允许您指定每个阶段应部署的堆栈, 并赋予您对您的部署过程的颗粒控制 .
自定义计算机/CD步骤
调整CI/CD管道以满足你项目的具体要求. CDK CI/CD Wrapper提供内置依赖性注射,允许您自定义CI/CD步骤无缝.
自动驾驶部署合同
| 区域 | 合同 |
|---|---|
APP_STAGING | 适用于直接/当地 cdk deploy (包括当地 cdk-cicd deploy --from-image)和Repo 1容器-图像合成. 包装产生的部署管道-平面 CODEPIPELINE,Repo 2, (中文(简体) ), CDK_PIPELINES,以及 GITHUB_ACTIONS拒绝 在直接/局部路径上,自定义部署和CloudFormation执行角色规范应用程序堆栈;安装支持资源使用呼叫器/基准证书. |
部署作用 ExternalId | CDK_PIPELINES 财务报告和审定财务报表 GITHUB_ACTIONS 拒绝已配置的部署- 作用的外部标识, 而不是默默地丢弃它们 . APP_STAGING 接受自定义的部署身份,但拒绝一个部署-作用的外部ID,因为α API 不曝光一个. |
| Cloud 格式执行角色 | CodeBuild承担了部署角色;这个承担的角色将所配置的CloudFormation执行角色转移到CloudFormation. 赠款 iam:PassRole 用于部署角色,而不是直接用于代码构建项目角色. |
| 自定义代码构建 ECR 图像 | 个人ECR环境图像必须在CodeBuild项目的区域中;平面CodePipeline和CDK管道也需要管道账户. Repo 2 只有在配置了所有者方寄存器政策后,才支持其明确的交叉账户图像路径 crossAccountEcrRepositoryPolicyConfigured 承认这一点;《建设区规则》仍然适用. |
| GitHub 手动审批 | 在生成的 GitHub 环境上配置所需的审查器, 然后设定 githubActions.environmentProtectionConfigured: true在工作流程中引用环境 YAML 不配置其保护规则 . |
捐款
欢迎向CDK CI/CD Wrapper捐款! 若您愿意贡献,请遵循本报告概述的准则 捐款额 文档.
许可证
本项目根据以下规定获得许可证: Apache 2.0 许可证。 。 。 .