All questions
Showing of 86What is Jenkins and why is it used in DevOps?
Answer it yourself first - out loud, or typed below.
How should your speech become text?
Listening… your words appear above as you speak - tap Stop when you're done.
Recording · cr - tap Stop & transcribe when you're done.
Transcribing with AI…
Voice:
Last attempt -
Jenkins is an open-source automation server, written in Java, that builds and tests code every time it changes. DevOps teams use it for continuous integration and continuous deployment, known together as CI/CD.
After a build passes its tests, Jenkins can deploy it to environments such as staging and production. More than 2,000 community plugins connect Jenkins to tools like Git, Docker and cloud platforms. It runs on most operating systems, and one controller can spread builds across many agent machines.
Teams use it to catch problems early, cut manual errors and ship software faster.
This answer doesn't lend itself to a diagram - it reads best . No credits were charged.
Why there's no diagram: “”
The interactive diagram is below the answer - jump to diagram ↓ · Below it, the related concept . Jump to it ↓
What is the difference between Continuous Integration, Continuous Delivery, and Continuous Deployment?
Answer it yourself first - out loud, or typed below.
How should your speech become text?
Listening… your words appear above as you speak - tap Stop when you're done.
Recording · cr - tap Stop & transcribe when you're done.
Transcribing with AI…
Voice:
Last attempt -
The difference is how far automation carries a change. Continuous Integration (CI) builds and tests every change. Continuous Delivery (CD) keeps every passing change ready to release. Continuous Deployment releases it to production with no human step.
With CI, developers merge code into a shared repository several times a day. Each merge triggers an automated build and test run.
Continuous Delivery extends CI by preparing every change that passes the pipeline for a production release. The code is always in a deployable state, but a person approves the deployment to production.
Continuous Deployment goes one step further. It deploys every change that passes the automated pipeline straight to production, without manual intervention.
A typical Continuous Delivery flow looks like this:
Code Commit → CI (Build + Test) → CD (Staging Deploy) → Manual Approval → Production Deploy
This answer doesn't lend itself to a diagram - it reads best . No credits were charged.
Why there's no diagram: “”
The interactive diagram is below the answer - jump to diagram ↓ · Below it, the related concept . Jump to it ↓
How do you install Jenkins?
Answer it yourself first - out loud, or typed below.
How should your speech become text?
Listening… your words appear above as you speak - tap Stop when you're done.
Recording · cr - tap Stop & transcribe when you're done.
Transcribing with AI…
Voice:
Last attempt -
You can install Jenkins three common ways: run the WAR file with Java, install the Linux package, or start the official Docker image. Current Jenkins releases need Java 21 or later, so install Java first for the first two.
The WAR file is the simplest. Download it and run it with java -jar, which serves Jenkins on port 8080.
# Download Jenkins WAR file
wget https://get.jenkins.io/war-stable/latest/jenkins.war
# Run Jenkins
java -jar jenkins.war --httpPort=8080
On Ubuntu or Debian, the package manager route adds the Jenkins signing key and the long-term support repository. It then installs Jenkins as a system service.
curl -fsSL https://pkg.jenkins.io/debian-stable/jenkins.io-2026.key | sudo tee /usr/share/keyrings/jenkins-keyring.asc > /dev/null
echo deb [signed-by=/usr/share/keyrings/jenkins-keyring.asc] https://pkg.jenkins.io/debian-stable binary/ | sudo tee /etc/apt/sources.list.d/jenkins.list > /dev/null
sudo apt update
sudo apt install jenkins
With Docker, one command runs the long-term support image. Port 50000 is where inbound agents connect.
docker run -p 8080:8080 -p 50000:50000 jenkins/jenkins:lts
After installation, open http://localhost:8080 and complete the setup wizard. It asks for an automatically generated unlock password, then offers to install the suggested plugins.
This answer doesn't lend itself to a diagram - it reads best . No credits were charged.
Why there's no diagram: “”
The interactive diagram is below the answer - jump to diagram ↓ · Below it, the related concept . Jump to it ↓
What is a Jenkins job and what are the different types?
What are Jenkins plugins, and which ones are important?
What is a Jenkins build?
How do you trigger a Jenkins build?
What is GitHub Actions and how does it differ from traditional CI/CD tools?
Answer it yourself first - out loud, or typed below.
How should your speech become text?
Listening… your words appear above as you speak - tap Stop when you're done.
Recording · cr - tap Stop & transcribe when you're done.
Transcribing with AI…
Voice:
Last attempt -
GitHub Actions is GitHub's built-in CI/CD platform. It automates build, test and deployment workflows directly inside GitHub repositories. Traditional tools such as Jenkins or TeamCity need separate infrastructure that you install and run, while Actions is hosted and part of GitHub itself.
The main differences:
- It is integrated with repositories, pull requests and issues, so check results show on each commit and pull request.
- It is event-driven, so pushes, pull requests and releases trigger workflows directly.
- A large Marketplace offers pre-built actions to reuse instead of writing scripts.
- Workflows are YAML files stored in
.github/workflows/, versioned with the code. - GitHub-hosted runners execute the jobs, so there are no build servers to manage.
This answer doesn't lend itself to a diagram - it reads best . No credits were charged.
Why there's no diagram: “”
The interactive diagram is below the answer - jump to diagram ↓ · Below it, the related concept . Jump to it ↓
Explain the basic structure of a GitHub Actions workflow file.
Answer it yourself first - out loud, or typed below.
How should your speech become text?
Listening… your words appear above as you speak - tap Stop when you're done.
Recording · cr - tap Stop & transcribe when you're done.
Transcribing with AI…
Voice:
Last attempt -
A workflow file is YAML in .github/workflows/ with three layers: events that trigger it, jobs it runs, and steps inside each job. Steps run in order.
name: CI Pipeline
on: [push, pull_request]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '18'
- name: Install dependencies
run: npm install
- name: Run tests
run: npm test
The keys in this file:
nameis an optional name for the workflow.onlists the events that trigger it, here every push and pull request.jobsholds the jobs. Each job is a set of steps that runs on the same runner, and by default jobs run in parallel.runs-onpicks the runner environment, hereubuntu-latest.stepsare the individual tasks inside a job.usesreferences a pre-built action, such asactions/checkout.runexecutes a shell command.
This answer doesn't lend itself to a diagram - it reads best . No credits were charged.
Why there's no diagram: “”
The interactive diagram is below the answer - jump to diagram ↓ · Below it, the related concept . Jump to it ↓
What are the different types of events that can trigger a GitHub Actions workflow?
Answer it yourself first - out loud, or typed below.
How should your speech become text?
Listening… your words appear above as you speak - tap Stop when you're done.
Recording · cr - tap Stop & transcribe when you're done.
Transcribing with AI…
Voice:
Last attempt -
A workflow can run on repository activity, on a schedule, or when someone starts it manually or from outside GitHub. You list the triggers under the on key:
- Repository events:
push,pull_request, andreleasewhen a release is created or published.createanddeletefire when a branch or tag is created or deleted. - Scheduled events:
scheduleruns on a cron expression, at most once every 5 minutes. - Manual and external events:
workflow_dispatchis a manual trigger with optional inputs.repository_dispatchlets an outside system trigger a run through the API. - Other GitHub activity:
check_runfor check run activity, anddeploymentwhen someone creates a deployment.
By default, pull_request only runs when a pull request is opened, synchronized or reopened. There is no generic webhook event.
on:
push:
branches: [main, develop]
pull_request:
branches: [main]
schedule:
- cron: '0 2 * * *' # Daily at 2 AM
workflow_dispatch:
This answer doesn't lend itself to a diagram - it reads best . No credits were charged.
Why there's no diagram: “”
The interactive diagram is below the answer - jump to diagram ↓ · Below it, the related concept . Jump to it ↓
What is the difference between a job and a step in GitHub Actions?
How do you use pre-built actions from the GitHub Marketplace?
What are GitHub Actions runners and what types are available?
What is GitLab CI/CD and how does it differ from other CI/CD tools?
Answer it yourself first - out loud, or typed below.
How should your speech become text?
Listening… your words appear above as you speak - tap Stop when you're done.
Recording · cr - tap Stop & transcribe when you're done.
Transcribing with AI…
Voice:
Last attempt -
GitLab CI/CD is the continuous integration and continuous deployment system built into GitLab. It builds, tests and deploys applications through pipelines defined in YAML files.
What sets it apart:
- Pipelines live next to the code, so there is no separate CI product to connect.
- The whole pipeline is configuration as code, in
.gitlab-ci.yml. - A built-in container registry stores Docker images next to the code.
- Auto DevOps can create a pipeline automatically for common frameworks.
- The same platform also covers issue tracking and code review, and it includes monitoring.
Jenkins is a separate server that needs plugins and setup, and GitHub Actions works only with GitHub repositories. GitLab bundles CI/CD with the rest of the DevOps workflow.
This answer doesn't lend itself to a diagram - it reads best . No credits were charged.
Why there's no diagram: “”
The interactive diagram is below the answer - jump to diagram ↓ · Below it, the related concept . Jump to it ↓
Explain the key components of a GitLab CI pipeline.
Answer it yourself first - out loud, or typed below.
How should your speech become text?
Listening… your words appear above as you speak - tap Stop when you're done.
Recording · cr - tap Stop & transcribe when you're done.
Transcribing with AI…
Voice:
Last attempt -
A GitLab CI pipeline is made of stages, which run in order, and jobs, which do the work inside each stage. Each job runs a script on a runner.
- The pipeline is the top-level container for the whole CI/CD process on one commit.
- Stages are logical groups such as
build,testanddeploy, and they run sequentially. - Jobs are the individual tasks inside a stage, and jobs in the same stage can run in parallel.
- Scripts are the shell commands each job executes.
- Runners are the agents that pick up jobs and execute them.
stages:
- build
- test
- deploy
build-job:
stage: build
script:
- echo "Building application"
test-job:
stage: test
script:
- echo "Running tests"
In this pipeline, build-job runs first, and test-job starts only after the build stage finishes.
This answer doesn't lend itself to a diagram - it reads best . No credits were charged.
Why there's no diagram: “”
The interactive diagram is below the answer - jump to diagram ↓ · Below it, the related concept . Jump to it ↓
What is the purpose of the .gitlab-ci.yml file and where should it be placed?
Answer it yourself first - out loud, or typed below.
How should your speech become text?
Listening… your words appear above as you speak - tap Stop when you're done.
Recording · cr - tap Stop & transcribe when you're done.
Transcribing with AI…
Voice:
Last attempt -
The .gitlab-ci.yml file is the configuration file that defines your GitLab CI/CD pipeline. By default GitLab looks for it in the root directory of the repository, and a project setting can point to a different path.
The file defines:
- the pipeline structure: stages, jobs and scripts
- when and how each job runs
- deployment environments
- variables, artifacts and dependencies between jobs
When you push code, GitLab reads this file and starts the pipeline it describes. Because it is YAML stored in the repository, the pipeline is version-controlled and easy to read.
This answer doesn't lend itself to a diagram - it reads best . No credits were charged.
Why there's no diagram: “”
The interactive diagram is below the answer - jump to diagram ↓ · Below it, the related concept . Jump to it ↓
Explain the difference between before_script, script and after_script in GitLab CI.
Answer it yourself first - out loud, or typed below.
How should your speech become text?
Listening… your words appear above as you speak - tap Stop when you're done.
Recording · cr - tap Stop & transcribe when you're done.
Transcribing with AI…
Voice:
Last attempt -
They are the three phases of a GitLab CI job: before_script prepares the job, script does the work, and after_script cleans up afterwards.
before_scriptruns before the main commands and is used for setup. If it fails, the whole job fails.scriptholds the main commands, and it is the only one of the three a job must have.after_scriptruns after the other two, even when the job fails, so it suits cleanup tasks.
job-example:
before_script:
- echo "Setting up environment"
- apt-get update
script:
- echo "Running main commands"
- npm test
after_script:
- echo "Cleaning up"
- rm -rf temp/
after_script runs in a new, separate shell with its own timeout of 5 minutes by default. It can't see variables that script exported, and it doesn't change the job's exit code. It also doesn't run by default when the job times out, so it is not a guarantee.
This answer doesn't lend itself to a diagram - it reads best . No credits were charged.
Why there's no diagram: “”
The interactive diagram is below the answer - jump to diagram ↓ · Below it, the related concept . Jump to it ↓
What are stages in a GitLab CI pipeline and how do they work?
What are predefined variables in GitLab CI, and which are commonly used?
What is the GitLab Container Registry and how do you use it?
What is the post section in a Jenkins Declarative Pipeline?
What is a Jenkinsfile and where should it be stored?
What is Jenkins Pipeline and what are the types?
Explain the Jenkins controller and agent architecture.
What are environment variables in Jenkins and how are they used?
How do you handle secrets and credentials in Jenkins?
What is Blue Ocean and what are its advantages?
How do you implement parallel execution in Jenkins Pipeline?
What are Jenkins shared libraries and how are they used?
How do you manage secrets and environment variables in GitHub Actions?
Explain matrix builds in GitHub Actions, with an example of when to use them.
How do you implement conditional execution in GitHub Actions workflows?
What are artifacts in GitHub Actions and how do you use them?
How do you implement caching in GitHub Actions to improve performance?
How do you create dependencies between jobs in GitHub Actions?
What are composite actions and when would you create one?
What are GitLab Runners and what types are available?
How do you control when jobs run using rules vs only/except?
How do you run a GitLab CI job only when certain files change?
How do you configure a custom Docker image for GitLab CI jobs?
What are GitLab CI services and how are they used?
How do you handle job dependencies and parallel jobs in GitLab CI?
Explain the different types of variables in GitLab CI and their precedence.
How do you protect API keys and passwords in GitLab CI?
What's the difference between artifacts and cache in GitLab CI?
How do you design an effective caching strategy in GitLab CI?
How do you configure job artifacts for different purposes in GitLab CI?
How do you build and push Docker images in GitLab CI?
What are GitLab environments and how do they work?
How do you implement deployment approvals in GitLab CI?
How do you implement security scanning in GitLab CI pipelines?
What are GitLab CI include templates and how do you use them?
How do you debug failing GitLab CI jobs?
What are some GitLab CI best practices for performance and maintainability?
How do you handle GitLab CI pipeline failures and notifications?
How do you handle flaky tests in a CI/CD pipeline?
How do you handle database migrations in a CI/CD pipeline?
How do you roll back a failed deployment in a CI/CD pipeline?
What is the "build once, deploy many" principle in CI/CD?
What are the DORA metrics and why do they matter?
How does trunk-based development compare with GitFlow for CI/CD?
What are reusable workflows in GitHub Actions, and how do they differ from composite actions?
How do you implement different deployment strategies (blue-green, rolling, canary)?
How do you run parallel matrix jobs in GitLab CI?
How do you manage Jenkins configuration as code with JCasC?
How do you optimize Jenkins performance for large-scale operations?
How do you implement security best practices in Jenkins?
How do you implement disaster recovery and backup strategies for Jenkins?
How do you integrate Jenkins with Kubernetes for cloud-native CI/CD?
How do you troubleshoot common Jenkins issues?
How do you implement GitOps workflows with Jenkins?
How do you implement custom Jenkins plugins?
How do you test Jenkins pipelines and shared libraries?
How do you implement Jenkins monitoring and observability?
How do you implement advanced security practices in GitHub Actions workflows?
How do you debug complex GitHub Actions workflows and troubleshoot failures?
How do you implement custom runners and when would you choose them over GitHub-hosted runners?
How do you add security scanning and compliance checks to GitHub Actions workflows?
How do you optimize GitHub Actions workflows for performance and cost?
How do you implement GitOps patterns with GitHub Actions?
How do you implement multi-environment promotion pipelines with approval gates?
How do you handle secrets rotation and management at scale in GitHub Actions?
How do you coordinate deployments across multiple repositories with GitHub Actions?
How do you manage secrets across environments in GitLab CI?
What are GitLab CI compliance pipelines and how do they work?
How do you optimize GitLab CI pipeline execution time?
This answer is part of Pro.
The full written answer, with the trade-offs and follow-ups an interviewer will probe.
No matches
Try a different filter or search term.
76 of 86 CI/CD Pipelines answers are in Pro.
Full answers, code samples, and AI explanations that go simpler or deeper. Cancel anytime.
- Full answers + code
- AI explanations, simpler or deeper
- 1,000 AI credits / month
- Cancel anytime
Change topic
Pick a different technology or stack. Your current topic stays put until you choose a new one.
MEAN
MongoDB, Express, Angular, Node.jsMERN
MongoDB, Express, React, Node.jsDjango
Python Full-Stack DevelopmentRuby on Rails
Convention over ConfigurationServerless on AWS
Serverless Architecture on AWSInterviewers also test these - they're common to every stack, whichever one you picked above.
Flutter Mobile
Flutter Cross-Platform Mobile DevelopmentInterviewers also test these - they're common to every stack, whichever one you picked above.
Spring Boot
Enterprise Java Development.NET
Microsoft EcosystemVue
Vue.js, Vite, TypeScript, Tailwind, Node.jsGo Backend
Golang, gRPC, PostgreSQL, Redis, RabbitMQInterviewers also test these - they're common to every stack, whichever one you picked above.
FastAPI
Python, FastAPI, SQLAlchemy, PostgreSQLReact Native
React, TypeScript, Redux, FirebaseiOS Native
Swift, SwiftUI, UIKit, FirebaseAndroid Native
Java, Jetpack Compose, FirebaseDevOps / Platform
Docker, Kubernetes, Terraform, CI/CDInterviewers also test these - they're common to every stack, whichever one you picked above.
AI Engineer
LLMs, RAG, Agents, EvalsAI-Powered Developer
Claude Code, Copilot, Agentic WorkflowsCore SWE Interview Prep
Data structures, algorithms, OS, concurrency, networking, gitInterviewers also test these - they're common to every stack, whichever one you picked above.
Interviewers also test these - they're common to every stack, whichever one you picked above.