AWS CodePipeline is a fully managed continuous delivery service that helps users automate release pipelines for fast, reliable application and infrastructure updates. 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. This is to enable rapid, reliable delivery of features and updates. Users can integrate AWS CodePipeline with third-party services such as GitHub or with a custom plugin. AWS…
$1
per active pipeline/per month
Bitbucket Server (discontinued)
Score 7.8 out of 10
N/A
Bitbucket Server (formerly Stash) from Atlassian offered a self-hosted source code management solution. The product is no longer available for sale, and support for existing licenses will end in 2024.
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.
Bitbucket Server would be good to use if you are not extremely reliant on the availability of your code at any given moment. If you have other systems relying on the up status of Bitbucket Server that can cause problems if unable to reach it -- you might consider going with a different product
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.
The usability of its interface is pretty straight forward when it comes to creating projects and repositories, but when you have to dive into finer grained portions of the UI things can get tricky. If you are used to using tools like GitHub or Gitlab -- Bitbucket is just different enough to be a bother.
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.
Never really needed any support as the application is very easy to set up and maintain. Any questions we had were well documented in their online documentation, and community forum.
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.
Stash was selected before I was at the company, but we're looking at these alternatives and actively considering switching. Stash seems to have all the necessary features we need to make it work, but it doesn't have any bells and whistles or extra special features that we can use to create more advanced integrations with other products like Jenkins or Amazon Web Services.
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.
Stash has certainly improved the productivity of the team. We no longer have to use Shared Drive on network which is prone to hacks and errors to manage our code.
During the process of releases, the release engineering team can pull the latest and approved code from Stash and need not be dependent upon the availability of the developers during their non availability. It improves productivity and fastens the ETA for requests.
We have stayed on course for project deadlines since introduction of Stash and helps us achieve the goals of timely completion of projects.