Hi GitLab Community!
I’d like to propose a new CI/CD feature that addresses a real limitation I’ve encountered in my projects.
My Problem
Currently, GitLab doesn’t provide an easy way to create dependencies between jobs in different pipelines.
Real scenario from my project:
- Pipeline A runs my backend deployment with job
deploy-backend
- Pipeline B has a job
integration-tests
that should only run AFTER the backend is deployed - Currently, I have to manually watch Pipeline A, wait for it to finish, then manually trigger the job in Pipeline B
This becomes especially painful when coordinating multiple microservices deployments where each service has its own pipeline but they need to be orchestrated in a specific order.
What i Propose as Solution
Allow users to link jobs across pipelines through the UI:
- Go to Pipeline B where job
integration-tests
is waiting (manual job) - Click on the job → Select “Link to external dependency”
- Choose Pipeline A → Select job
deploy-backend
- Set condition:
on_success
,on_failure
, oralways
- Now
integration-tests
automatically becomes available to run oncedeploy-backend
finishes
Key difference: You can set this up BEFORE Pipeline A finishes. No more watching and waiting!
Real Use Cases
-
Microservices Orchestration
- Service B deployment waits for Service A’s database migration
- API gateway updates only after all backend services are deployed
-
Multi-Environment Deployments
- Production pipeline waits for staging validation to complete
- Customer-specific deployments triggered after main release
-
Cross-Project Dependencies
- Frontend deployment waits for API deployment from another project
- Mobile app release waits for backend API updates
-
Scheduled Batch Processing
- Data processing job waits for multiple data ingestion pipelines
- Report generation after all data sources are updated
How I think it Would Work
- UI Integration: Dropdown in manual jobs to link to other pipeline jobs
- Visual Indicator: Shows linked dependencies across pipelines
- Smart Triggers: Job automatically becomes “ready” when dependency completes
- Notifications: Optional alerts when dependent job is ready to run
- API Support: Ability to create these links via API for automation
Existing Workarounds (and why they’re not enough for me)
- Pipeline triggers: Only work at pipeline level, not job level
- Downstream pipelines: Can’t handle complex cross-project scenarios
- Polling scripts: Require external automation and are error-prone
- Manual coordination: Time-consuming and mistake-prone
So these are my Questions for the Community
- How often do you need to coordinate jobs across different pipelines?
- What’s your current workaround for this limitation?
- Would you prefer automatic triggering or manual Feature Proposal: Cross-Pipeline Manual Job Dependenciesconfirmation after dependency is met?
- Should this work across different projects or just within the same project?
Would this solve a problem for you? I’d love to hear about your use cases!
Tags: #ci-cd pipelines #feature-proposal #orchestration #multi-pipeline