The situation
- The team wanted to accelerate delivery of key product features.
- The fusion-ui application needed a trunk-based workflow with monorepo best practices.
- CI/CD needed a test environment that runs automated tests on virtualized hardware.
What we did
Jenkins Shared Library
A shared library that abstracts common pipeline elements, later with vHCI deployment-pool support.
Trunk-based flow
Standard feature-toggle naming, and two apps moved into the trunk-based flow with production feature toggles.
Faster pipelines
Optimized fusion-ui pipelines with parallel E2E targets, and mNode tests rebalanced across Staging, Master and a new Release Gate.
Component library site
A demo and documentation site for the shared component library.
Angular 11 migration
Migration of fusion-ui to Angular 11 and NodeJS 14.15.4, a cluster capacity feature, and a pipeline hand-off to a sustaining team.
The result
- mNode pipeline gates went from 30 to 20 minutes for Staging and from 90 to 45 minutes for Master (December 2020).
- With NetApp's vHCI SIG, vHCI deployment requests went from up to 15 minutes, with a chance to fail, to instantaneous.
- The Angular 11 upgrade fixed a memory error.
- NetApp gave an NPS score of 9 in May 2020 and extended the engagement in 2020.