I have built a Pipeline of Pipelines. This pipeline calls four other pipelines and each stage depends on a file from the previous stage. For example the Terraform pipeline provisions a number of VMs in Proxmox and then creates an ansible inventory file suitable for use by the next pipeline that runs some ansible code.
This is my pipeline:
stages:
- terraform
- ansible-config
- ansible-k3s
- helm
workflow:
rules:
- if: '$CI_PIPELINE_SOURCE == "web"'
when: always
- when: never
terraform:
stage: terraform
trigger:
project: devops/proxmox-tf
branch: master
strategy: depend
ansible-config:
stage: ansible-config
trigger:
project: devops/ansible-post-install
branch: master
strategy: depend
ansible-k3s:
stage: ansible-k3s
trigger:
project: devops/k3s-ansible
branch: master
strategy: depend
helm:
stage: helm
trigger:
project: devops/helm-charts
branch: main
strategy: depend
I tried using artifacts
in one pipeline and then dependencies
in the next pipeline but it seems only acceptable for stages, not pipelines.