We are very much Atlassian folk where I work. JIRA, HipChat, Confluence, and of course Bitbucket all get a lot of use from us. Atlassian is slowly killing off Bamboo and we do not yet have a CI/CD setup. Since we are not ready to leave the Atlassian ship that means we are using Bitbucket, which leaves us with Bitbucket Pipelines and Jenkins Pipeline as our main contenders.

Bitbucket Pipelines is a CI/CD solution built right into Bitbucket, very similar to GitLab CI/CD.

Jenkins is the longtime ruler of the CI/CD space. It gets some negative opinions at times, but Jenkins Pipeline along with BlueOcean has done wonders to modernize the platform and make it a real contender in the wide world of CI/CD tools nowadays.

Both have adopted the Pipeline as Code mentality popularized by Travis.

Cost

Bitbucket

Bitbucket Pipelines pricing is based on number of users and how many build minutes you want. For example, our team is on the Standard tier of Bitbucket. This gives us 500 minutes per month, at a price of $2 per user. Additional time can be purchased for $10 per month, gaining you an extra 1000 minutes.

For my team of roughly 10 people, we pay $20 per month for 500 minutes. Our builds run anywhere from 3 to 5 minutes on Bitbucket, giving us 150 builds per month on average. If we average this out across all 10 users, that’s only 15 builds per user per month. We would very likely need to purchase another 1000 minutes, putting us up to $30 per month. This puts us at about 450 builds per month, or 45 builds per user per month. This is looking a lot better for us.

For 10 full time developers, you are looking to spend at least $30 per month.

Jenkins

We are an AWS shop, so I will be looking at AWS costs. If we look at the official AWS Jenkins documentation, AWS estimates $89 per month to host a single m4.large EC2 instance backed by 40GB of EBS storage.

The recommended architecture for Jenkins is one master node and at least one agent node. Running builds on the master has been discouraged for some time now. If we just add another m4.large EC2 instance, we add $74 per month. This puts us at $163 per month.

Costs can be adjusted some by playing with what instance type you go with. You can probably run the master on a t2.medium and bring your cost down to $123 per month. If you don’t have any development going on during off-hours, you can also just shut down the master and agent from the hours of 6:00pm to 7:00am. If you’re running two m4.large instances that will save $81 per month, putting you at $82 per month. If you’re running one m4.large and one t2.medium, you will save $59 per month, putting you at $72 per month.

Jenkins has no build time limit since you host the infrastructure yourself. For a small team and a basic Jenkins setup, you are looking at anywhere from $72 to $163 per month.