Deploying New Versions of Software
Submitted By Jenkins User Jason Shaw
Jason’s company delivers software through an analytics engine that continuously makes resourcing decisions based on real-time application demand, ensuring that applications always get the compute, storage, and network they need to perform. Solutions extend beyond the data center to manage network delivery at scale.
Programming Language: Java
Platform: Docker or Kubernetes, Linux
Version Control System: GitHub, GitLab
Build Tool: Maven
Community Support: Spoke with colleagues and peers
Jenkins helps deliver a more consistent, timely, and
reliable product every sprint.
Background: The company’s application resource management solutions assure customers’ application performance and governance by dynamically resourcing applications across hybrid and multi-cloud environments. In this way, every application gets the resourcing it needs, and end-users never have to wait for applications to respond. However, we were looking for faster and more reliable deployment of our application codebase during our 2-week sprints.
Goals: Our main priority was to build new versions of our software. But our secondary goal was to improve our end-to-end delivery pipeline visualization to help everyone on the team see the progress.
Solution & Results: Using Jenkins, we can deliver a more consistent, timely, and reliable product every sprint. All dev teams and engineering managers can see the progress and have better visualization of the process and stages we are at in our build process and easily identify where any issues are that need to be addressed.
We can now build, test, and publish with Docker, integrating with Docker, GitHub and GitLab specifically. And the results that we’re seeing are exactly as we expected:
- builds are at least twice as fast
- dev cycles have been shortened by a few days
- improved product quality as proven by the lower number of bugs submitted post-build and after each release