Process Flow - CircleCI comparison
Start: Code pushed to repo
Trigger CI pipeline
Build, Test, Deploy steps
Feedback: Success or Fail
End
Shows the flow of code triggering a CircleCI pipeline, running build/test/deploy steps, and giving feedback.
pipeline {
agent any
stages {
stage('Build') {
steps { echo 'Building...' }
}
}
}| Step | Action | CircleCI Behavior | Jenkins Behavior | Result |
|---|---|---|---|---|
| 1 | Code pushed to repo | Triggers CircleCI pipeline automatically | Triggers Jenkins pipeline if webhook configured | Pipeline starts |
| 2 | Pipeline config read | Reads .circleci/config.yml | Reads Jenkinsfile in repo | Pipeline config loaded |
| 3 | Job execution | Runs jobs in containers or VMs, supports parallelism | Runs jobs on configured agents, parallelism possible but manual | Jobs start |
| 4 | Build step | Runs build commands as defined | Runs build commands as defined | Build runs |
| 5 | Test step | Runs tests, reports results | Runs tests, reports results | Tests run |
| 6 | Deploy step | Deploys if configured, supports workflows | Deploys if scripted, supports pipelines | Deploy runs |
| 7 | Feedback | Sends status to VCS, dashboard updates | Sends status to VCS, dashboard updates | User notified |
| 8 | Pipeline end | Pipeline finishes, resources released | Pipeline finishes, agents freed | Pipeline complete |
| Variable | Start | After Step 2 | After Step 4 | After Step 6 | Final |
|---|---|---|---|---|---|
| Pipeline Status | Not started | Config loaded | Build running | Deploy running | Complete |
| Jobs Running | 0 | 0 | 1 (build) | 1 (deploy) | 0 |
| Feedback Sent | No | No | No | No | Yes |
CircleCI uses a YAML config file (.circleci/config.yml) to define pipelines declaratively. Jenkins uses a scripted Jenkinsfile for pipeline definition. CircleCI runs jobs in containers with easy parallelism. Jenkins requires manual agent setup for parallel jobs. Both provide feedback to developers via VCS and dashboards. CircleCI is cloud-friendly; Jenkins can be self-hosted or cloud.