18

使用 AWS CodePipeline 与 Jenkins 的优缺点是什么?

我在互联网上看不到很多信息(除了https://stackshare.io/stackups/jenkins-vs-aws-codepipeline)。据我所见,它们如下:

AWS CodePipeline 专业人士

  • 基于网络
  • 与 AWS 集成
  • 易于设置(基于网络)

AWS CodePipeline 缺点

  • 不能用于在本地设置代码仓库

詹金斯专业人士

  • 独立软件
  • 可用于许多系统(AWS 除外)
  • 许多设置选项(例如插件)
  • 可用于在本地设置代码仓库

人们可以用来做出明智选择的任何其他主要差异?

4

4 回答 4

5

CodePipeline 是一个持续的“部署”工具,而 Jenkins 更多的是一个持续的“集成”工具。

持续集成是一种 DevOps 软件开发实践,开发人员定期将他们的代码更改合并到一个中央存储库中,然后运行自动构建和测试。

通过持续部署,代码更改会自动构建、测试并发布到生产环境。持续部署通过在构建阶段之后将所有代码更改部署到测试环境和/或生产环境来扩展持续集成。

参考:
https ://aws.amazon.com/devops/continuous-integration/
https://aws.amazon.com/devops/continuous-delivery/

于 2017-03-06T22:41:54.997 回答
4

使用 AWS CodePipeLine 的其他缺点是缺乏与 GitHub 以外的源代码控制提供商的集成。我们唯一的其他选择是创建启用版本的 Amazon S3 存储桶并将我们的代码推送到那里。这会在源代码控制和 CodePipeline 之间创建一个额外的层。

此外,没有适当的文档可以解释如何将他们的代码推送到 Amazon S3 存储桶,以获取内置于常用平台(如 .Net)中的代码库。AWS 网站中给出的示例处理一些没有任何帮助的随机文件。

AWS CodePipeLine 的cons部分的问题中缺少的另一个条目(微不足道?)是价格。詹金斯是免费的。Gitlab SCM 解决方案现在由 AWS https://aws.amazon.com/blogs/devops/integrating-git-with-aws-codepipeline/提供

于 2017-03-07T01:16:39.767 回答
1

CodePipeline 和 Jenkins 可以完成同样的事情。此外,您不必一定使用 CodePipeline 的 Web UI,它可以通过 AWS SAM CLI 模板进行设置,与 CloudFormation 模板非常相似。

CodePipeline 还支持很多源代码提供程序,AWS CodeCommit、AWS S3、GitHub 和 BitBucket。

如果您在 AWS 中工作,我个人比 Jenkins 更喜欢 CodePipeline。界面比 IMO 干净 10 倍。使用 SAM CLI 模板,您的管道可以作为代码进行管理,类似于您使用 Jenkinsfile 的方式。

于 2021-02-05T15:51:24.767 回答
0

您可以使用 Jenkins 做更多事情,因为您可以使用无数插件对其进行自定义。因此,如果需要,您可以保持在最前沿。相比之下,使用 Codepipeline,您只能使用 AWS 为您提供的服务。当然,Codepipeline 让您有机会选择 Jenkins 作为构建步骤的工具。但是,这意味着您不能在管道的其他阶段将 Jenkins 用于不同的目的。如果您是 Hashicorp Vault 的粉丝,您可以轻松地与 Jenkins 集成,为您的构建提供动态机密。你不能用 Codepipeline 做到这一点。您将不得不依赖云原生机制,在本例中为 AWS KMS。

这是一个教程,向您展示如何将 Jenkins 与 Codepipeline 集成 - 您将需要几个插件来让 Jenkins 与不同的 Codepipeline 组件对话。 https://aws.amazon.com/blogs/devops/setting-up-a-ci-cd-pipeline-by-integrating-jenkins-with-aws-codebuild-and-aws-codedeploy/

于 2021-11-08T05:11:30.647 回答