Jenkins is a "Product". If you pick Jenkins, then you will have to figure out ways to manage the environment and infrastructure where it is deployed, just as the way you would have to manage your very own web-app deployment environment.
AWS CodePipeline is "Product as a Service". You don’t have to worry one bit about managing the environment in which the underlying product is deployed because AWS does that for you.
If I were you, I would favour CI/CD services like AWS CodePipeline over picking up Jenkins and managing its infrastructure ecosystem.
That said there are a lot of alternatives to AWS CodePipeline, that you can pick-up depending upon your mileage/bias. Some of them are listed below:
- CircleCI used by 20k+ organisations, the notable ones being Facebook, Spotify, etc
- TravisCI used by companies like ZenDesk, Heroku, etc
- Atlassian’s Bamboo, the creators of Bitbucket as alternative to Github.
- CodeShip that hasa ssome marquee brands like Splunk, CNN, AutoDesk etc using it as their CI/CD platform
Guess, you got what you wanted to know. Happy exploration!!..