Missed Team ’24? Catch up on announcements here.

×
Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

jenkins pipeline vs bitbucket pipeline

stevegreensill September 13, 2018

Our company uses jenkins pipelines with bitbucket and it works pretty well but jenkins is a bit of a beast when there are hundreds of jobs to maintain and run using various plugins and also pushing to artifactory and building, publishing, starting and stopping docker containers - so could all these be replaced with bitbucket pipelines?

1 answer

1 accepted

3 votes
Answer accepted
Hellmut Adolphs September 13, 2018

Pipelines works fairly well, but it has its limitations, mostly due to its immaturity compared to Jenkins.  

I would start by checking all the Jenkins plugins you are using and see if you have equivalent functionality in bitbucket (or if they can be used with)

When it comes to publishing to repos like artifactory or nexus, that is not a problem.  Bitbucket runs the builds inside a docker container.  You can publish your own container with everything you need to do your builds or you can use any community container available in docker hub.  Additionally, you could also install stuff during execution but that will only slow your container instantiation and your build time which costs you more and slows down your builds.  Pipelines is using kubernetes under the hood, and will probably make things easier if you are already using containers.   I would say go ahead and try to migrate your simplest build and then attempt a more complex one and see how it goes.  

Most likely everything you are doing with Jenkins can be done with pipelines. Or simplified ... I think there might be more complex integrations between Jenkins and other tools that might be an issue but if you don't need them you should be OK.

mwatson
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
September 13, 2018

We'd also be really interested in what use-cases you have in Jenkins that you can't replicate in Pipelines or are hard to do  - we have an upcoming feature to allow reuse of sections of a step or pipeline that will allow us to provide pre-packaged solutions for some integrations so understanding what people are struggling with will help inform what we should provide out of the box.

stevegreensill September 16, 2018

Thanks so much for the advice here and I had no idea that BB runs builds inside docker either which begs the question that if our jenkins jobs are also running docker build that means docker inside docker which I am not sure is a good thing ( I read somewhere that its best to stay away from that type of recursive devops build tasks). Anyhow, we're also embracing kubernetes as we are moving to cloud deployments, but still have most of our legacy software packaged up using our proprietary method (configs + custom install scripts, etc).  We'll have a go a migrating our simplest build as suggested by Hellmut. To answer Matthew, I am actually not sure whats possible with bitbucket pipelines, but we rely on a mix of mvn/gradle/sh based builds, which are executed using jenkins pipeline DSL, running IT tests, run docker builds and deploys to both local docker hosts and openshift env's. We have a secure docker repo and as mentioned publish everything to artifactory and use the arifactory jenkins plugin to capture and push build info to artifactory.  What we'd like to see is I suppose working alternatives to mvn/gradle/spring boot based builds which publish artifactory, cron based jobs which run daily, docker based jobs with build, stop and start containers on a specified docker host and cloud provider (e.g. openshift of cloudfoundary)

mwatson
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
September 18, 2018

Hi Steve, nothing in there sounds impossible in Pipelines - I'd point out that whilst Pipelines builds run in docker, you don't need to interact with it in any unusual way, other than specifying the container you would like to use to build your code (which should have all the tools you'll need to perform the build).

Building docker inside pipelines is also not an issue - we provide a docker daemon for you if you request it and you can do docker builds and run containers from within your build, or run containers as services alongside your build. 

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events