这两个软件包似乎在很大程度上做了同样的事情?这两个软件包之间的预期差异是什么,以及我应该使用哪个?
4uqofj5v1#
Pipelines是较新的--实验性的--(编辑:它不再处于"实验"状态,但现在是一个适当的库)库。它有额外的结构,如"SimpleSynth",可以做一些事情,如检查管道的代码,更新管道以及部署代码/基础结构。它将许多CodePipelineActions合并到创建阶段的相同结构中-我认为这样做的想法是删除一点自定义,使其更容易编码(通常将各种构造的示例化数量减半)在大多数情况下,这是一种矫枉过正的做法。此外,除非您和您的团队对cdk有足够的基础知识,否则这可能是危险的--当您更新源代码时,您的管道的自变异方面能够更新和变异自身(CICD喜欢这样做),这意味着如果您犯了错误,您可以将您的应用锁定在部署之外。此外,它仍然是实验性的-这意味着他们可能会打破依赖关系或无效的旧方法在任何时候。我会坚持使用CodePipeline和CodePipelineActions,直到您非常熟悉使用cdk,并在尝试使用Pipelines(以及通常任何不以aws开头的库!除了Core之外,大多数都是实验性的)之前将其用于一般的管道。
1条答案
按热度按时间4uqofj5v1#
Pipelines是较新的--实验性的--(编辑:它不再处于"实验"状态,但现在是一个适当的库)库。它有额外的结构,如"SimpleSynth",可以做一些事情,如检查管道的代码,更新管道以及部署代码/基础结构。它将许多CodePipelineActions合并到创建阶段的相同结构中-我认为这样做的想法是删除一点自定义,使其更容易编码(通常将各种构造的示例化数量减半)
在大多数情况下,这是一种矫枉过正的做法。此外,除非您和您的团队对cdk有足够的基础知识,否则这可能是危险的--当您更新源代码时,您的管道的自变异方面能够更新和变异自身(CICD喜欢这样做),这意味着如果您犯了错误,您可以将您的应用锁定在部署之外。
此外,它仍然是实验性的-这意味着他们可能会打破依赖关系或无效的旧方法在任何时候。
我会坚持使用CodePipeline和CodePipelineActions,直到您非常熟悉使用cdk,并在尝试使用Pipelines(以及通常任何不以aws开头的库!除了Core之外,大多数都是实验性的)之前将其用于一般的管道。