Table of Contents
Fetching ...

Automatic Pipeline Provisioning

Alexandre-Xavier Labonté-Lamoureux, Simon Boyer

TL;DR

This paper addresses the challenge of manually provisioning CI pipelines across many projects, which is time-consuming and error-prone. It proposes automatic pipeline provisioning through template-driven golden paths, template engines, GUI-based onboarding, and Internal Developer Portals to standardize and accelerate CI setup. The work outlines concrete implementation strategies across GitLab CI, GitHub Actions, and other engines, complemented by a case study of Company A showing substantial time savings and easier maintenance. Overall, automatic provisioning promises more consistent, scalable DevOps practices and potential extension to CD pipelines, enabling faster time-to-market with reduced developer burden.

Abstract

The goal of this paper is to explore the benefits of automatic pipeline provisioning and identify how it can be applied. Automatic pipeline provisioning can be defined as a process of quickly deploying a pipeline for a software engineering project. This research will focus on CI pipelines, although the outcomes of this approach on CD pipelines will likely be similar.

Automatic Pipeline Provisioning

TL;DR

This paper addresses the challenge of manually provisioning CI pipelines across many projects, which is time-consuming and error-prone. It proposes automatic pipeline provisioning through template-driven golden paths, template engines, GUI-based onboarding, and Internal Developer Portals to standardize and accelerate CI setup. The work outlines concrete implementation strategies across GitLab CI, GitHub Actions, and other engines, complemented by a case study of Company A showing substantial time savings and easier maintenance. Overall, automatic provisioning promises more consistent, scalable DevOps practices and potential extension to CD pipelines, enabling faster time-to-market with reduced developer burden.

Abstract

The goal of this paper is to explore the benefits of automatic pipeline provisioning and identify how it can be applied. Automatic pipeline provisioning can be defined as a process of quickly deploying a pipeline for a software engineering project. This research will focus on CI pipelines, although the outcomes of this approach on CD pipelines will likely be similar.

Paper Structure

This paper contains 23 sections, 10 figures.

Figures (10)

  • Figure 1: GitLab repository of the Pipeline Blocks project
  • Figure 2: Directory structure of Pipeline Blocks
  • Figure 3: Content of the trivy.yml template
  • Figure 4: The file go.yml in the groups directory. The developers only have to include this file to include all the other pipeline jobs.
  • Figure 5: Resulting CI pipeline in the example project
  • ...and 5 more figures