Pipeline Connections
Pipeline Connections
Section titled “Pipeline Connections”Connections define the execution order between jobs in a pipeline. They determine which jobs run in sequence, in parallel, or wait for multiple dependencies.
Connection Basics
Section titled “Connection Basics”A connection links a job’s output port to another job’s input port:
┌─────────────┐ ┌─────────────┐│ Job A │●───────▶│ Job B │└─────────────┘ └─────────────┘ output inputJob B will only start after Job A completes successfully.
Connection Patterns
Section titled “Connection Patterns”Sequential
Section titled “Sequential”Jobs run one after another:
┌───────┐ ┌───────┐ ┌───────┐│ Test │────▶│ Build │────▶│Deploy │└───────┘ └───────┘ └───────┘Parallel (Fan-out)
Section titled “Parallel (Fan-out)”Multiple jobs start from the same source:
┌───────────┐ ┌───▶│ Build iOS │ │ └───────────┘┌───────┐││ Test │├───▶┌───────────┐└───────┘│ │Build Droid│ │ └───────────┘ │ ┌───────────┐ └───▶│ Build Web │ └───────────┘All three builds start simultaneously after tests pass.
Fan-in
Section titled “Fan-in”One job waits for multiple upstream jobs:
┌───────────┐│ Build iOS │────┐└───────────┘ │ ▼┌───────────┐ ┌───────┐│Build Droid│─▶│Notify │└───────────┘ └───────┘ ▲┌───────────┐ ││ Build Web │────┘└───────────┘Notify only runs after all three builds complete.
Complex Workflows
Section titled “Complex Workflows”Combine patterns for sophisticated pipelines:
┌───────────┐ ┌────────────┐ ┌───▶│ Build iOS │────▶│ Deploy iOS │───┐ │ └───────────┘ └────────────┘ │┌────┴───┐ ▼│ Test │ ┌─────────┐└────┬───┘ │ Notify │ │ ┌───────────┐ ┌────────────┐ ▲ └───▶│Build Droid│────▶│Deploy Droid│───┘ └───────────┘ └────────────┘Creating Connections
Section titled “Creating Connections”- Hover over a job’s right edge (output port)
- Click and drag toward another job
- Release on the target job’s left edge (input port)
Removing Connections
Section titled “Removing Connections”- Click on the connection line
- Press
DeleteorBackspace
Or right-click the line and select “Remove”.
No Circular Dependencies
Section titled “No Circular Dependencies”You cannot create loops:
❌ Invalid:
┌───────┐ ┌───────┐│ Job A │────▶│ Job B │└───────┘ └───────┘ ▲ │ └────────────┘Triggers Start the Flow
Section titled “Triggers Start the Flow”Every pipeline needs at least one trigger connected to the first job(s):
┌──────────┐ ┌───────┐│ Trigger │────▶│ Job │└──────────┘ └───────┘Orphan Jobs Don’t Run
Section titled “Orphan Jobs Don’t Run”Jobs without incoming connections (except triggers) won’t execute:
┌──────────┐ ┌───────┐│ Trigger │────▶│ Job A │ ← Runs└──────────┘ └───────┘
┌───────┐│ Job B │ ← Never runs (no connection)└───────┘Execution Order
Section titled “Execution Order”- Pipeline triggered
- All jobs connected directly to trigger start
- As each job completes, downstream jobs check if all their dependencies are done
- If all dependencies succeeded, job starts
- If any dependency failed, downstream jobs are skipped
Failure Handling
Section titled “Failure Handling”By default, if a job fails:
- Downstream jobs are skipped
- Pipeline run is marked as failed
Notification jobs can be configured to run on failure for alerts.