What are the pros and cons of using AWS CodePipeline vs Jenkins What are the pros and cons of using AWS CodePipeline vs Jenkins jenkins jenkins

What are the pros and cons of using AWS CodePipeline vs Jenkins


CodePipeline is a continuous "deployment" tool, while Jenkins is more of a continuous "integration" tool.

Continuous integration is a DevOps software development practice where developers regularly merge their code changes into a central repository, after which automated builds and tests are run.

With continuous deployment, code changes are automatically built, tested, and released to production. Continuous deployment expands upon continuous integration by deploying all code changes to a testing environment and/or a production environment after the build stage.

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


Other downside of using AWS CodePipeLine is lack of integration with source control providers other than GitHub. The only other option we have is to create version enabled Amazon S3 bucket and push our code there. This creates an extra layer between Source control and CodePipeline.

Also, there is no proper documentation available to explain how one could push their code to Amazon S3 bucket for codebases built in commonly used platforms such as .Net. The example given in AWS website deals with some random files which is not helpful whatsoever.

The other entry(trivial?) missing in your question from cons section of AWS CodePipeLine is, Price. Jenkins is free.Gitlab SCM solution is now provided by AWS https://aws.amazon.com/blogs/devops/integrating-git-with-aws-codepipeline/


CodePipeline and Jenkins can accomplish the same thing. Also you don't have to necessarily use the web UI for CodePipeline it can be setup through an AWS SAM CLI template, very similar to CloudFormation templates.

CodePipeline also supports a lot of source code providers, AWS CodeCommit, AWS S3, GitHub, and BitBucket.

I personally like CodePipeline a lot better than Jenkins if your working in AWS. The interface is 10x cleaner IMO. And with the SAM CLI templates your pipelines can be managed as code, similar to how you'd use a Jenkinsfile.