Basic ideas
can run Jenkins and Jenkins pipelines on any platform including cloud
can opt to use the Cloud platform's CICD infrastructure with Jenkins ( eg Azure pipelines instead of Jenkins pipelines )
https://jenkins.io/doc/pipeline/steps/azure-app-service/
Related
Hey Jim, this is the last updated documented piece we have
https://chat.hyperledger.org/file-upload/qDgSxHpFGpiogDpYB/CICD_Proposal.pdf. The
#fabric-maintainers and
#cicd channels contain a ton of the deep dive details, as well as the maintainer call recording where I originally presented it. The crux of it is, we paid a fortune to LFIT to maintain Jenkins for us yearly. With that we got infrastructure and "24/7" Sev1 support. In reality, our infrastructure was running on a flaky cloud (network, I/O and CPU were all underperforming and varied day-to-day) you can see this by trying to download artifacts from Nexus, if you attempt to pull a few at the same time, bandwidth slows to a crawl. And the Sev1 support we expected was non-existent. Over the labor day holiday weekend, LFIT accidentally took Jenkins offline on Friday. We opened a Sev1 ticket and escalated it twice, we didn't even get a response until Tuesday morning, and then they fixed it, never responded to the ticket and closed it. We had to go hunt someone down to find out what happened (and learn they were the ones that broke it). So our original reason for leaving was wanting to drop LFIT for support and to get off the cloud vendor we were tied to. We also didn't want to manage the infrastructure ourselves so finding a managed solution was paramount. We originally proposed CloudBees (enterprise Jenkins) but the cost was WAAAAY out of line. Azure has provided us with all of the requirements we had, which you can see what they are in those slides, and they are giving us their solution for free. So we have gone from $300,000/year for CICD to $0/year. Which is going to allow HLF to reinvest that money in other CI services (like running Kube clusters) or providing other CICD solutions that teams might need (like CircleCI for another project) instead of Fabric eating up the entire budget
We loved the idea of being able to ensure Fabric didn't consume the entire CI budget and we could spread that around and bring more projects under the HLF CI umbrella
2:53 PM
I think $0/ year is always worth evaluating ... I assume at some point Microsoft will charge for support. I'm guessing we were using the Blue Ocean pipelines Jenkins has the Microsoft team created Azure pipelines from them ..You're right that bad support trumps good software every time. thanks for all the info.. much appreciated..
2:57 PM
So it sits on the free microsoft support tier, so we get 8x5 support for free. But we do get an 99.99% uptime in the SLA for infrastructure. Since everyone in the world is using the same instance they have to keep it up and running, as it going down doesn't just affect us. And we think the Linux Foundation has an ELA that we can tie into (which we havent yet) that will allow up to use their 24x7 support contract. But thus far we've opened ~10 tickets, and microsoft has responded to all of them the same day and fixed every problem we've had.
But overall we are happy with what we've gotten out of it, though we do have some work to do to provide automation for some of the feature we liked in Jenkins that we don't have in AZP
2:59 PM
that's a winner every way --- congratulations !
I'll guess you can still create any Jenkins artifacts you want ( eg old style pipelines etc ) in addition to everything Microsoft has already done. So you have 2 different ways to create / run pipelines if needed
3:01 PM
Exactly, they recently released their Multi-Stage, Multi-Project Pipelines, which is the feature set we were really interested in, but it wasn't available when we started on this journey. So we are going to spend the next 2 months converting to pipelines where projects are dependent on each others success for publishing artifacts
So we can better guarantee the stability and production readiness of what we are releasing
3:03 PM
that's excellent. Sounds like there won't be any need to use the Jenkins pipelines with the Azure multi-project pipelines .. thanks
sample code block
Related articles