@aws-cdk/pipelines 和@aws-cdk/aws-codepipeline 有什么区别?
What is the difference between @aws-cdk/pipelines and @aws-cdk/aws-codepipeline?
这两个包似乎在很大程度上做同样的事情?这两个包之间的预期区别是什么,我应该使用哪个?
Pipelines 是较新的 --experimental--(编辑:它不再处于实验阶段,但现在是一个合适的库)库。它有额外的构造,如“SimpleSynth”,可以做一些事情,比如检查管道的代码和更新管道以及部署你的 code/infrastructure。它将许多 CodePipelineActions 合并到创建阶段的相同结构中 - 我想这个想法是删除一些自定义以使其更容易编码(通常会减少一半各种结构中的实例化数量)
在大多数情况下,这有点矫枉过正。另外,除非您和您的团队对 cdk 有很多基础知识,否则它可能很危险——管道的自我变异方面能够在您更新源代码时更新和变异自身(这是 CICD 喜欢的事情),这意味着如果您使一个错误,您可能会锁定您的应用程序,无法部署。
此外,它仍处于实验阶段 - 这意味着它们可能会随时破坏依赖性或使旧方法失效。
我会坚持使用 CodePipeline 和 CodePipelineActions,直到您非常熟悉使用 cdk 并将其用于一般的管道,然后再尝试使用 Pipelines(以及通常不以 aws 开头的任何库!除了 Core 大多数其中一些是实验性的)
这两个包似乎在很大程度上做同样的事情?这两个包之间的预期区别是什么,我应该使用哪个?
Pipelines 是较新的 --experimental--(编辑:它不再处于实验阶段,但现在是一个合适的库)库。它有额外的构造,如“SimpleSynth”,可以做一些事情,比如检查管道的代码和更新管道以及部署你的 code/infrastructure。它将许多 CodePipelineActions 合并到创建阶段的相同结构中 - 我想这个想法是删除一些自定义以使其更容易编码(通常会减少一半各种结构中的实例化数量)
在大多数情况下,这有点矫枉过正。另外,除非您和您的团队对 cdk 有很多基础知识,否则它可能很危险——管道的自我变异方面能够在您更新源代码时更新和变异自身(这是 CICD 喜欢的事情),这意味着如果您使一个错误,您可能会锁定您的应用程序,无法部署。
此外,它仍处于实验阶段 - 这意味着它们可能会随时破坏依赖性或使旧方法失效。
我会坚持使用 CodePipeline 和 CodePipelineActions,直到您非常熟悉使用 cdk 并将其用于一般的管道,然后再尝试使用 Pipelines(以及通常不以 aws 开头的任何库!除了 Core 大多数其中一些是实验性的)