我使用RDS,Lambda等组件在AWS上运行项目,并且我使用了CloudFormation,CodeCommit(用于源代码),CodeBuild(用于构建)和CodePipeline(用于CI / CD)等工具。
管道和源存储库本身是否应使用CloudFormation堆栈定义?
答案 0 :(得分:1)
是的,使用云形成模板,您可以为项目配置源代码存储库,构建项目和管道。
请参阅以下链接以获取官方文档。
CodeCommit with Cloud Formation
CodeBuild with Cloud Formation
CodePipeline with Cloud Formation
编辑1 - CF模板优于CLI / Sdk。
云形成是在AWS上部署的方式。以下是CFn相对于CLI / SDK / Console的几个优点。
管理资源集非常简单。如果出现故障,AWS将负责回滚。如果使用SDK / CLI,则必须处理错误情况,以便清理资源。
输出可以轻松地从一个资源/模板传输到另一个资源/模板。再次在SDK / CLI中,您必须编写该业务流程代码。
更新更易于管理,因为云形成模板是声明性的。您的资源状态由AWS维护。在SDK / CLI中,您需要手动处理状态。
有关云形成模板的使用,请参阅Best practices部分以获得有效结果。
答案 1 :(得分:1)
我认为最好的做法是为上述场景设置两个不同的堆栈。
1)第一个堆栈 - 应该有codecommit,codebuild和codepipeline等支持资源。
这些资源可用于不同的应用程序
2)第二个堆栈 - 应该具有与应用程序相关的资源,例如RDS,Lambda
堆栈是您可以作为a管理的AWS资源的集合 单个单位。换句话说,您可以创建,更新或删除 通过创建,更新或删除堆栈来收集资源。所有 堆栈中的资源由堆栈的AWS CloudFormation定义 模板。例如,堆栈可以包括所有资源 运行Web应用程序,例如Web服务器,数据库, 和网络规则。如果您不再需要该Web应用程序, 你可以简单地删除堆栈,以及它的所有相关资源 删除。