AWS CodePipeline is a fully managed continuous delivery service that helps users automate release pipelines. CodePipeline automates the build, test, and deploy phases of the release process every time there is a code change, based on the release model a user defines.
$1
per active pipeline/per month
Travis CI
Score 7.3 out of 10
N/A
Travis CI is an open source continuous integration platform, that enables users to run and test simultaneously on different environments, and automatically catch code failures and bugs.
We selected AWS CodePipeline mainly because we wanted to keep the application stack completely native to AWS, and CodePipeline provided the best integrations with AWS services that we were using, such as S3, Elastic Beanstalk, and Lamba. Furthermore, AWS CodePipeline provided …
I felt that, out of the alternatives, AWS CodePipeline was the simplest to setup and most reliable. Since my client's infrastructure was already hosted in AWS, I felt it was a no-brainer. If a client needed a similar solution with on-prem or non-AWS infrastructure, I would …
AWS Codepipeline is proprietary to Amazon Web Services and works well when you're working with other AWS products. If you're using a different technology stack, then Codepipeline may not be the best tool and some open source/closed source tools available on the web may suffice.
I think AWS CodePipeline is a great tool for anyone wanted automated deployments in a multi-server/container AWS environment. AWS also offers services like Elastic Beanstalk that provide a more managed hosting & deployment experience. CodePipeline is a good middle ground with solid, built-in automation with enough customizability to not lock people into one deployment or architecture philosophy.
TravisCI is suited for workflows involving typical software development but unfortunately I think the software needs more improvement to be up to date with current development systems and TravisCI hasn't been improving much in that space in terms of integrations.
I think they could have a cheaper personal plan. I'd love to use Travis on personal projects, but I don't want to publish them nor I can pay $69 a month for personal projects that I don't want to be open source.
There is no interface for configuring repos on Travis CI, you have to do it via a file in the repo. This make configuration very flexible, but also makes it harder for simpler projects and for small tweaks in the configuration.
Overall, I give AWS Codepipeline a 9 because it gets the job done and I can't complain much about the web interface as much of the action is taking place behind the scenes on the terminal locally or via Amazon's infrastructure anyway. It would be nicer to have a better flowing and visualizable web interface, however.
TravisCI hasn't had much changes made to its software and has thus fallen behind compared to many other CI/CD applications out there. I can only give it a 5 because it does what it is supposed to do but lacks product innovation.
Our pipeline takes about 30 minutes to run through. Although this time depends on the applications you are using on either end, I feel that it is a reasonable time to make upgrades and updates to our system as it is not an every day push.
We didn't need a lot of support with AWS CodePipeline as it was pretty straightforward to configure and use, but where we ran into problems, the AWS community was able to help. AWS support agents were also helpful in resolving some of the minor issues we encountered, which we could not find a solution elsewhere.
After the private equity firm had bought this company the innovation and support has really gone downhill a lot. I am not a fan that they have gutted the software trying to make money from it and put innovation and product development second.
CodeCommit and CodeDeploy can be used with CodePipeline so it’s not really fair to stack them against each other as they can be quite the compliment. The same goes for Beanstalk, which is often used as a deployment target in relation to CodePipeline.
CodePipeline fulfills the CI/CD duty, where the other services do not focus on that specific function. They are supplements, not replacements. CodePipeline will detect the updated code and handle deploying it to the actual instance via Beanstalk.
Jenkins is open source and not a native AWS service, that is its primary differentiator. Jenkins can also be used as a supplement to CodePipeline.
Jenkins is much more complicated to configure and start using. Although, one you have done that, it's extremely powerful and full of features. Maybe many more than Travis CI. As per TeamCity, I would never go back to using it. It's also complicated to configure but it is not worth the trouble. Codeship supports integration with GitHub, GitLab and BitBucket. I've only used it briefly, but it seems to be a nice tool.
CodePipeline has reduced ongoing devops costs for my clients, especially around deployment & testing.
CodePipeline has sped up development workflow by making the deployment process automated off git pushes. Deployment takes very little coordination as the system will just trigger based on what is the latest commit in a branch.
CodePipeline offered a lot of out-of-the-box functionality that was much simpler to setup than a dedicated CI server. It allowed the deployment process to built and put into production with much less and effort and cost compared to rolling the functionality manually.
It's improved my ability to deliver working code, increasing my development velocity.
It increases confidence that your own work (and those of external contributors) does not have any obvious bugs, provided you have sufficient test coverage.
It helps to ensure consistent standards across a team (you can integrate process elements like "go lint" and other style checks as part of your build).
It's zero-cost for public/open source projects, so the only investment is a few minutes setting up a build configuration file (hence the return is very high).
The .travis.yml file is a great way for onboarding new developers, since it shows how to bootstrap a build environment and run a build "from scratch".