Build pipelines are a powerful part of modern software development. When your code is automatically built and tested, the quality of your software goes up. Any organization that is good at software will have a build automation tool wired up to a modern platform like Pivotal Cloud Foundry. This setup ultimately enables you to deploy to production with confidence thousands of times a month.
We see customers start with a few teams, with a few apps on build pipelines. But how do you scale this out? You’re likely to have thousands of developers pushing code for hundreds of apps before too long. To compound the issue further, many of these apps are dependent upon one another.
Thankfully, there’s a pattern that enterprises are using to keep tabs on their pipelines and continue to rapidly release features at scale.
For this post, we’ll focus on Concourse, an open-source CI project. Pivotal customers have success with a number of different CI tools, but Concourse is uniquely tailored to the modern software organization. One feature that makes is special for the aforementioned use case: dashboards.
If a Picture is Worth a Thousand Words, a Real-Time View of Your Pipelines is Priceless
Let’s start with a simple example. Consider a build version that doesn’t pass a given test. Perhaps the deployment failed or the code didn’t even compile. Concourse does a great job of highlighting where your pipeline failed, showing exactly which step needs your attention. The UI of Concourse is great to have up on a spare screen so that users can constantly monitor the state of their pipelines.
In fact, if you tour a Pivotal office – or a customer office for that matter – you’ll see screen after screen showing a pipeline for each project.
What happens when you have a large number of pipelines, though? Perhaps you have a large, complex system that you’re building made up of multiple subsystems, all with their own build and test cycle. Luckily, the Concourse team puts a lot of care and attention into design and has put together a beautiful interface for exactly this reason!
A collection of pipelines. As your needs demand scale, Concourse scales with them.
More Than a Pretty Face
If you already have a Concourse environment at version 3.9.2 or newer, you can find this dashboard by adding "/dashboard" to your root URL. If you don't have an environment available, you can set one using the quick start on the Concourse homepage and opening http://127.0.0.1:8080/dashboard in your browser.
A closer look at two pipelines, one passing and one failed.
Shown above are two pipelines using the Concourse dashboard. On the left is a simple test and deploy pipeline that has experienced no errors. On the right, you'll see a more complex pipeline that hit an issue early on. The dashboard will also report on how long it's been since the pipeline last ran.
A quick mouse-over allows users to see exactly which step needs looking at.
Hovering over each cell for the pipeline will show the name of the job, allowing us to identify the failed step. Clicking on the cell will then drill into the last run of that step, bringing the user to the familiar log output of a job.
These visuals aren’t just eye candy. They are the output of extensive research done by the Concourse team. In the Concourse blog, Lindsay Auchinachie explains how she and her team landed on the current design. Over several iterations, they found that users care about two major things from the UI: what’s has failed and how long has it been failing.
Did you know Concourse has a beta dashboard view? Its been there since 3.5.0! Learn about how we went about designing it with @LAuchinachie https://t.co/BCT2l12Lj9
— Concourse CI (@concourseci) November 27, 2017
These two pieces of information are front and center in the dashboard. Failed pipelines immediately stand out from passing ones. Each one reports on the amount of time that has passed since the last time the pipeline ran.
CI/CD pipelines come down to rapid iteration with constant, easy-to-digest feedback. This is core to accelerating long-term developer velocity. Tightening that feedback loop means quicker, more informed reactions. Software has evolved from releasing twice a year to releasing twice before your second cup of coffee. Developers and operators alike must utilize every tool they have. A proper CI/CD pipeline is no longer a niche secret weapon, it's becoming the expected standard. The pipeline doesn't exist to only automate, but to help you quickly diagnose failure. It's a tool that should do better than report pass/fail, it should coordinate.
Deploy Like the Cloud Natives with Concourse
Build pipelines are a first-class citizen in Concourse. But this is just one-way Concourse stands out from other CI/CD tools. Give Concourse a try if you need to support:
-
Test-driven development with extensive automated testing
-
Multiple code versions that must maintain compatibility
-
Many code derivatives, such as multiple IaaS targets or configurations
-
High-velocity teams that deliver code frequently
Get up and running with Concourse. You’ll soon discover that dashboards are a powerful way to instantly communicate status to all development teams, and to anyone else that happens to walk past the development space. Before you know it, Concourse will be at the center of your day-to-day work.
Want to know more about CI/CD? Download the whitepaper Speed Thrills: How to Harness the Power of CI/CD for Your Development Team. Curious about Concourse? Check out customer videos, best practices, and more.
Already using Concourse? Give us feedback on the dashboard in GitHub, and join the discussion on the Concourse site!