Learn pipeline-as-code vocabulary: Jenkinsfile, GitHub Actions YAML, pipeline triggers, pipeline stages and jobs, CI config in version control — the language of modern CI/CD configuration.
0 / 5 completed
1 / 5
The DevOps engineer says: 'The Jenkinsfile defines the pipeline — it lives in the root of the repository.' What is a Jenkinsfile?
A Jenkinsfile is a text file (written in Groovy-based Declarative or Scripted DSL) that defines a Jenkins pipeline. It specifies stages (Build, Test, Deploy), steps within each stage, conditions (when to run), and post-actions. Storing the Jenkinsfile in the repository is the pipeline-as-code approach — the pipeline definition is versioned alongside the application code.
2 / 5
The team lead says: 'We moved from Jenkins to GitHub Actions last year.' What is GitHub Actions?
GitHub Actions is GitHub's integrated CI/CD platform. Pipelines (called workflows) are defined as YAML files in the .github/workflows/ directory of the repository. Workflows consist of jobs, steps, and actions (reusable units). They trigger on events like push, pull_request, or schedule, and run on GitHub-hosted or self-hosted runners.
3 / 5
The CI configuration comment reads: 'The pipeline triggers on push to main.' What does 'triggers on push to main' mean?
A pipeline trigger defines what event causes the pipeline to start. 'Triggers on push to main' means the CI/CD pipeline runs automatically whenever a commit is pushed to the main branch. Common triggers include: push to a branch, pull request opened/updated, a scheduled cron time, or a manual workflow dispatch. Triggers are defined in the pipeline YAML configuration.
4 / 5
The engineer explains: 'Pipeline-as-code means the CI config is in version control alongside the application.' What is the key benefit of this approach?
Pipeline-as-code means the CI/CD pipeline definition is stored as a file (Jenkinsfile, .github/workflows/*.yml, .gitlab-ci.yml) in the version-controlled repository. Benefits include: pipeline changes go through code review, the pipeline history is auditable via git log, pipelines are reproducible (checking out any commit gives you the pipeline that ran at that point), and onboarding is easier.
5 / 5
The GitHub Actions workflow file contains: 'jobs: build: / test:'. What is the difference between a 'job' and a 'step' in a pipeline?
In GitHub Actions (and most CI systems), a workflow contains jobs. Each job runs on a runner (a virtual machine or container). Jobs can run in parallel or have dependencies on other jobs. Each job contains steps — individual tasks such as checking out code, running tests, or building a Docker image. Steps within a job run sequentially on the same runner.