Build multiple versions in one pipeline?


I’m building images that user the following underlying distributions, versions and their special editions:

  • Ubuntu: 16.04, 18.04, 19.10, 20.04
  • Debian: 0, 8, 9, 10
  • Debian-Slim: 0, 8, 9, 10
  • Alpine: 3.10, 3.11

Debian “0” is Sid, as it doesn’t come with a VERSION_ID in /etc/os-release, I just picked “0”…

However, I need to run the same build process for the available combinations if something changes. Is there a way to tell Concourse to create the possible combinations and always start three builds at the same time until the job is done?



The short answer is kinda no. In the wild, people often achieve the “build matrix” effect you’re describing with a templated pipeline, but there’s no first-class support for it.

Why? it’s a gap in the feature set provided by Concourse, but it’s one that’s well-understood and we’re tracking towards in our roadmap. This blog post is a good reference to understand the background, especially this section: