Blog post pitch: Predictable, scalable and easy to maintain build matrices with GitLab dynamic child pipelines

Proposal

I would like to blog about a method for creating predictable, scalable and easy to maintain (IMHO) build matrices with GitLab, leveraging the power of the recently added dynamic child pipelines feature. The method:

  • Is meant to solve most common use cases with as little effort as possible.
  • Generates dynamic child pipelines jobs based on templates included in the .gitlab-ci.yml file, keeping all configuration in a single place.
  • Reduces the complexity of the job generation process to a minimum. A sample job generation script is provided. It has been implemented in Python and packaged as a Docker image for convenience, so it can be reused in other projects. I intend to release it later as an Open Source project.

The post structure would likely be:

  • Method overview
  • In-depth explanation
  • Example job generation script
  • Conclusions
  • Future work

Bests,

Juan Carlos

Checklist

  • If you have a specific publish date in mind (please allow 3 weeks' lead time)
    • Include it in the issue title
    • Give the issue a due date of a minimum of 2 working days prior
    • If your post is likely to be >2,000 words, give a due date of a minimum of 4 working days prior
  • If time sensitive
    • Added ~"priority" label and supplied rationale in description
    • Mentioned @rebecca to give her a heads up ASAP
  • If wide-spread customer impacting or sensitive
    • Add sensitive label
    • Mention @nwoods to give her a heads up ASAP
  • If the post is about one of GitLab's Technology Partners, including integration partners, mention @TinaS and see the blog handbook for more on third-party posts
  • Indicate if supporting an event or campaign
  • Indicate if this post requires additional approval from internal or external parties before publishing (please provide details in a comment)
Edited by Juan Carlos Mejías Rodríguez