What is pipeline-as-code versus UI-configured pipelines?
Answer
Pipeline-as-code defines the CI/CD pipeline configuration in a version-controlled file (Jenkinsfile, .github/workflows/ YAML, .gitlab-ci.yml, bitbucket-pipelines.yml) that lives alongside the application source code. Changes to the pipeline go through code review, have full history, and can be rolled back. UI-configured pipelines (classic Jenkins jobs, older Azure DevOps pipelines) are defined via a web interface, storing configuration in the CI server's database. Pipeline-as-code is the modern standard because it applies software engineering practices to the pipeline itself, enables developers to modify the pipeline alongside code changes in the same PR, supports multiple branches with different pipeline behaviors, and makes disaster recovery easy (no CI configuration is lost if the server is rebuilt). UI pipelines lack auditability and are hard to replicate across environments. All modern CI platforms (GitHub Actions, GitLab CI, CircleCI) use pipeline-as-code exclusively.
Previous
What is multi-cloud CI/CD and what challenges does it introduce?
Next
What is dependency scanning in CI/CD and how does it work?
More CI/CD Pipelines Questions
View all →- Intermediate What is blue-green deployment and how does it achieve zero-downtime releases?
- Intermediate What is a canary release and how does it reduce deployment risk?
- Intermediate What is a rolling deployment and how does it compare to blue-green?
- Intermediate What are feature flags and how do they integrate with CI/CD?
- Intermediate What is the testing pyramid in CI/CD and where does each test type run?