Skip to main content

Pipeline

Pipeline templates orchestrate jobs for every application stack supported in the Welance platform. These templates define complete CI/CD workflows by combining atomic jobs.

Overview

Pipeline templates are complete, ready-to-use CI/CD workflows that orchestrate multiple atomic jobs to build, test, and deploy applications. Each template is designed for a specific application stack and handles the entire deployment lifecycle.

How Pipeline Templates Work

Pipeline templates work by:

  1. Centralized Definition: All pipeline templates are stored in the Welance platform repository
  2. Versioned Releases: Each template is versioned, allowing projects to use specific stable releases
  3. Project Inclusion: Projects reference these templates via GitLab CI/CD include statements
  4. Job Orchestration: Templates combine atomic jobs (build, test, deploy) into complete workflows
  5. Environment Support: Templates handle different environments (develop, staging, production)

Available Pipeline Templates

Git Flow

The Git Flow pipeline template provides orchestration pipelines for various application stacks:

  • craft.yml - Complete CI/CD pipeline for Craft CMS applications
  • wordpress.yml - Complete CI/CD pipeline for WordPress applications
  • directus.yml - Complete CI/CD pipeline for Directus CMS applications
  • node.yml - Complete CI/CD pipeline for Node.js applications
  • s3.yml - Complete CI/CD pipeline for S3 static website deployments
  • image-release.yml - Complete CI/CD pipeline for Docker image releases
  • k8s-operator.yml - Complete CI/CD pipeline for Welance Kubernetes Operator

Each template file orchestrates the appropriate jobs for that application stack, including:

  • Build jobs (composer, npm, docker, etc.)
  • Test jobs (npm test, etc.)
  • Deploy jobs (k8s, docker, vm, etc.)
  • Configuration jobs (Ansible, Terraform, etc.)

Using Pipeline Templates

To use a pipeline template in your project, create a .gitlab-ci.yml file that includes the template:

include:
- project: 'welance/platform/pipelines/templates/pipeline/git-flow'
ref: release/1.0.0
file: 'craft.yml'
variables:
PROJECT_ID: 'p222-01'

For detailed usage instructions, see the Git Flow Usage Guide.

Code Repository

The Pipeline templates source code is available on GitLab:

Repository: https://gitlab.com/welance/platform/pipelines/templates/pipeline