Unfortunately, with rapid growth comes the pain of integration and adoption of legacy technologies. Under new leadership, ESI has committed to a technology transformation, starting with a move from waterfall to Agile. In order to achieve this transformation, we have had to revamp our development, operations and release processes to make them more efficient, reliable and scalable.
At last count, ESI was using 37 different programming languages spread across mainframe, many flavors of linux, Windows and cloud hosts. We had to find a way to take inventory and apply controls, while making the process faster and more efficient to support our Agile transformation. To do this, we used Jenkins Pipeline (specifically, global libraries) to centralize our implementation, provide the hooks into our other supporting applications and providing a fast and reliable path to production.
Some of the integrations we’ve hooked into our pipeline library and flow include:
Github (for multi-branch pipeline jobs and knowing what we’re releasing)
Jira / HipChat / Confluence (for collaboration)
XL Release (to eliminate Sharepoint and spreadsheets for release management)
Artifactory (not only as a binary repo, but to proxy external resources previously unavailable to our teams)
Ansible (to automate deployments)
Sauce Labs (for test automation)
Graphite (you can’t get better if you don’t measure yourself)