AWS CodeBuild vs Jenkins: What are the differences?
What is AWS CodeBuild? Build and test code with continuous scaling. AWS CodeBuild is a fully managed build service that compiles source code, runs tests, and produces software packages that are ready to deploy. With CodeBuild, you don’t need to provision, manage, and scale your own build servers.
What is Jenkins? An extendable open source continuous integration server. In a nutshell Jenkins CI is the leading open-source continuous integration server. Built with Java, it provides over 300 plugins to support building and testing virtually any project.
AWS CodeBuild and Jenkins can be categorized as "Continuous Integration" tools.
Some of the features offered by AWS CodeBuild are:
- Fully Managed Build Service
- Continuous Scaling
- Enables Continuous Integration
On the other hand, Jenkins provides the following key features:
- Easy installation
- Easy configuration
- Change set support
"Pay per minute" is the primary reason why developers consider AWS CodeBuild over the competitors, whereas "Hosted internally" was stated as the key factor in picking Jenkins.
Jenkins is an open source tool with 13.3K GitHub stars and 5.48K GitHub forks. Here's a link to Jenkins's open source repository on GitHub.
Facebook, Netflix, and Instacart are some of the popular companies that use Jenkins, whereas AWS CodeBuild is used by Convox, Volta Industries, and ChromaDex. Jenkins has a broader approval, being mentioned in 1774 company stacks & 1526 developers stacks; compared to AWS CodeBuild, which is listed in 21 company stacks and 14 developer stacks.
What is AWS CodeBuild?
What is Jenkins?
Need advice about which tool to choose?Ask the StackShare community!
Sign up to add, upvote and see more prosMake informed product decisions
What are the cons of using AWS CodeBuild?
Sign up to add, upvote and see more consMake informed product decisions
Sign up to get full access to all the companiesMake informed product decisions
Sign up to get full access to all the tool integrationsMake informed product decisions
The open-source Convox Platform-as-a-Service is built entirely on AWS cloud services.
Through this lens, it's been obvious that AWS has been missing a managed build service. For the past year we've had to work around this by building our own build service on ECS and ECR. You can read more on my AWS Missing Parts: Build Service blog post.
So I'm excited to finally have this service. After a quick weekend prototype, the service works as expected and will unlock Cheaper, Faster and Safer Builds for our systems.
This is a classic AWS service. It's tricky to figure out all the options. I recommend jumping straight to the Docker example docs:
You'll need to figure IAM, Build Project JSON, and Build Spec YAML to get it all working.
But once you do, you've unlocked managed builds on small, medium or large compute types. No instances required!
All of our pull requests are automatically tested using Jenkins' integration with GitHub, and we provision and deploy our servers using Jenkins' interface. This is integrated with HipChat, immediately notifying us if anything goes wrong with a deployment.
Jenkins is our go-to devops automation tool. We use it for automated test builds, all the way up to server updates and deploys. It really helps maintain our homegrown continuous-integration suite. It even does our blue/green deploys.
- Continuous Deploy
- Dev stage: autodeploy by trigger push request from 'develop' branch of Gitlab
- Staging and production stages: Build and rollback quicly with Ansistrano playbook
- Sending messages of job results to Chatwork.
Currently serves as the location that our QA team builds various automated testing jobs.
At one point we were using it for builds, but we ended up migrating away from them to Code Pipelines.
We use Jenkins to schedule our Browser and API Based regression and acceptance tests on a regular bases. We use additionally to Jenkins GitlabCI for unit and component testing.