LearnThatStack Ace your next interview
CI
DevOps

CI/CD Pipelines.

Start free Change topic Change
Practice · Questions

All questions

Showing of 86
Beginner 22
01

What is Jenkins and why is it used in DevOps?

Beginner ·

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:

Keep going - a few more words and AI can grade it.

Last attempt -

Your answer

Re-explain

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.

Rewriting in plainer words…

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 ↓

Related concept

Tailored explanation · switch back to · ·
What should the new diagram focus on?
How well did you know this?
AI:

02

What is the difference between Continuous Integration, Continuous Delivery, and Continuous Deployment?

Beginner ·

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:

Keep going - a few more words and AI can grade it.

Last attempt -

Your answer

Re-explain

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
Rewriting in plainer words…

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 ↓

Related concept

Tailored explanation · switch back to · ·
What should the new diagram focus on?
How well did you know this?
AI:

03

How do you install Jenkins?

Beginner ·

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:

Keep going - a few more words and AI can grade it.

Last attempt -

Your answer

Re-explain

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.

Rewriting in plainer words…

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 ↓

Related concept

Tailored explanation · switch back to · ·
What should the new diagram focus on?
How well did you know this?
AI:

04

What is a Jenkins job and what are the different types?

Part of Pro
05

What are Jenkins plugins, and which ones are important?

Part of Pro
06

What is a Jenkins build?

Part of Pro
07

How do you trigger a Jenkins build?

Part of Pro
08

What is GitHub Actions and how does it differ from traditional CI/CD tools?

Beginner ·

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:

Keep going - a few more words and AI can grade it.

Last attempt -

Your answer

Re-explain

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.
Rewriting in plainer words…

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 ↓

Related concept

Tailored explanation · switch back to · ·
What should the new diagram focus on?
How well did you know this?
AI:

09

Explain the basic structure of a GitHub Actions workflow file.

Beginner ·

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:

Keep going - a few more words and AI can grade it.

Last attempt -

Your answer

Re-explain

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:

  • name is an optional name for the workflow.
  • on lists the events that trigger it, here every push and pull request.
  • jobs holds the jobs. Each job is a set of steps that runs on the same runner, and by default jobs run in parallel.
  • runs-on picks the runner environment, here ubuntu-latest.
  • steps are the individual tasks inside a job.
  • uses references a pre-built action, such as actions/checkout.
  • run executes a shell command.
Rewriting in plainer words…

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 ↓

Related concept

Tailored explanation · switch back to · ·
What should the new diagram focus on?
How well did you know this?
AI:

10

What are the different types of events that can trigger a GitHub Actions workflow?

Beginner ·

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:

Keep going - a few more words and AI can grade it.

Last attempt -

Your answer

Re-explain

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, and release when a release is created or published. create and delete fire when a branch or tag is created or deleted.
  • Scheduled events: schedule runs on a cron expression, at most once every 5 minutes.
  • Manual and external events: workflow_dispatch is a manual trigger with optional inputs. repository_dispatch lets an outside system trigger a run through the API.
  • Other GitHub activity: check_run for check run activity, and deployment when 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:
Rewriting in plainer words…

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 ↓

Related concept

Tailored explanation · switch back to · ·
What should the new diagram focus on?
How well did you know this?
AI:

11

What is the difference between a job and a step in GitHub Actions?

Part of Pro
12

How do you use pre-built actions from the GitHub Marketplace?

Part of Pro
13

What are GitHub Actions runners and what types are available?

Part of Pro
14

What is GitLab CI/CD and how does it differ from other CI/CD tools?

Beginner ·

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:

Keep going - a few more words and AI can grade it.

Last attempt -

Your answer

Re-explain

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.

Rewriting in plainer words…

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 ↓

Related concept

Tailored explanation · switch back to · ·
What should the new diagram focus on?
How well did you know this?
AI:

15

Explain the key components of a GitLab CI pipeline.

Beginner ·

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:

Keep going - a few more words and AI can grade it.

Last attempt -

Your answer

Re-explain

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, test and deploy, 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.

Rewriting in plainer words…

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 ↓

Related concept

Tailored explanation · switch back to · ·
What should the new diagram focus on?
How well did you know this?
AI:

16

What is the purpose of the .gitlab-ci.yml file and where should it be placed?

Beginner ·

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:

Keep going - a few more words and AI can grade it.

Last attempt -

Your answer

Re-explain

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.

Rewriting in plainer words…

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 ↓

Related concept

Tailored explanation · switch back to · ·
What should the new diagram focus on?
How well did you know this?
AI:

17

Explain the difference between before_script, script and after_script in GitLab CI.

Beginner ·

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:

Keep going - a few more words and AI can grade it.

Last attempt -

Your answer

Re-explain

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_script runs before the main commands and is used for setup. If it fails, the whole job fails.
  • script holds the main commands, and it is the only one of the three a job must have.
  • after_script runs 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.

Rewriting in plainer words…

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 ↓

Related concept

Tailored explanation · switch back to · ·
What should the new diagram focus on?
How well did you know this?
AI:

18

What are stages in a GitLab CI pipeline and how do they work?

Part of Pro
19

What are predefined variables in GitLab CI, and which are commonly used?

Part of Pro
20

What is the GitLab Container Registry and how do you use it?

Part of Pro
21

What is the post section in a Jenkins Declarative Pipeline?

Part of Pro
22

What is a Jenkinsfile and where should it be stored?

Part of Pro
Intermediate 42
23

What is Jenkins Pipeline and what are the types?

Part of Pro
24

Explain the Jenkins controller and agent architecture.

Part of Pro
25

What are environment variables in Jenkins and how are they used?

Part of Pro
26

How do you handle secrets and credentials in Jenkins?

Part of Pro
27

What is Blue Ocean and what are its advantages?

Part of Pro
28

How do you implement parallel execution in Jenkins Pipeline?

Part of Pro
29

What are Jenkins shared libraries and how are they used?

Part of Pro
30

How do you manage secrets and environment variables in GitHub Actions?

Part of Pro
31

Explain matrix builds in GitHub Actions, with an example of when to use them.

Part of Pro
32

How do you implement conditional execution in GitHub Actions workflows?

Part of Pro
33

What are artifacts in GitHub Actions and how do you use them?

Part of Pro
34

How do you implement caching in GitHub Actions to improve performance?

Part of Pro
35

How do you create dependencies between jobs in GitHub Actions?

Part of Pro
36

What are composite actions and when would you create one?

Part of Pro
37

What are GitLab Runners and what types are available?

Part of Pro
38

How do you control when jobs run using rules vs only/except?

Part of Pro
39

How do you run a GitLab CI job only when certain files change?

Part of Pro
40

How do you configure a custom Docker image for GitLab CI jobs?

Part of Pro
41

What are GitLab CI services and how are they used?

Part of Pro
42

How do you handle job dependencies and parallel jobs in GitLab CI?

Part of Pro
43

Explain the different types of variables in GitLab CI and their precedence.

Part of Pro
44

How do you protect API keys and passwords in GitLab CI?

Part of Pro
45

What's the difference between artifacts and cache in GitLab CI?

Part of Pro
46

How do you design an effective caching strategy in GitLab CI?

Part of Pro
47

How do you configure job artifacts for different purposes in GitLab CI?

Part of Pro
48

How do you build and push Docker images in GitLab CI?

Part of Pro
49

What are GitLab environments and how do they work?

Part of Pro
50

How do you implement deployment approvals in GitLab CI?

Part of Pro
51

How do you implement security scanning in GitLab CI pipelines?

Part of Pro
52

What are GitLab CI include templates and how do you use them?

Part of Pro
53

How do you debug failing GitLab CI jobs?

Part of Pro
54

What are some GitLab CI best practices for performance and maintainability?

Part of Pro
55

How do you handle GitLab CI pipeline failures and notifications?

Part of Pro
56

How do you handle flaky tests in a CI/CD pipeline?

Part of Pro
57

How do you handle database migrations in a CI/CD pipeline?

Part of Pro
58

How do you roll back a failed deployment in a CI/CD pipeline?

Part of Pro
59

What is the "build once, deploy many" principle in CI/CD?

Part of Pro
60

What are the DORA metrics and why do they matter?

Part of Pro
61

How does trunk-based development compare with GitFlow for CI/CD?

Part of Pro
62

What are reusable workflows in GitHub Actions, and how do they differ from composite actions?

Part of Pro
63

How do you implement different deployment strategies (blue-green, rolling, canary)?

Part of Pro
64

How do you run parallel matrix jobs in GitLab CI?

Part of Pro
Expert 22
65

How do you manage Jenkins configuration as code with JCasC?

Part of Pro
66

How do you optimize Jenkins performance for large-scale operations?

Part of Pro
67

How do you implement security best practices in Jenkins?

Part of Pro
68

How do you implement disaster recovery and backup strategies for Jenkins?

Part of Pro
69

How do you integrate Jenkins with Kubernetes for cloud-native CI/CD?

Part of Pro
70

How do you troubleshoot common Jenkins issues?

Part of Pro
71

How do you implement GitOps workflows with Jenkins?

Part of Pro
72

How do you implement custom Jenkins plugins?

Part of Pro
73

How do you test Jenkins pipelines and shared libraries?

Part of Pro
74

How do you implement Jenkins monitoring and observability?

Part of Pro
75

How do you implement advanced security practices in GitHub Actions workflows?

Part of Pro
76

How do you debug complex GitHub Actions workflows and troubleshoot failures?

Part of Pro
77

How do you implement custom runners and when would you choose them over GitHub-hosted runners?

Part of Pro
78

How do you add security scanning and compliance checks to GitHub Actions workflows?

Part of Pro
79

How do you optimize GitHub Actions workflows for performance and cost?

Part of Pro
80

How do you implement GitOps patterns with GitHub Actions?

Part of Pro
81

How do you implement multi-environment promotion pipelines with approval gates?

Part of Pro
82

How do you handle secrets rotation and management at scale in GitHub Actions?

Part of Pro
83

How do you coordinate deployments across multiple repositories with GitHub Actions?

Part of Pro
84

How do you manage secrets across environments in GitLab CI?

Part of Pro
85

What are GitLab CI compliance pipelines and how do they work?

Part of Pro
86

How do you optimize GitLab CI pipeline execution time?

Part of Pro

No matches

Try a different filter or search term.

Know someone prepping for CI/CD Pipelines? Send them this set.
Pro · $10/mo

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.

Technologies
No technologies match “”.
Cross-cutting topics
No topics match “”.
By role
Stacks & frameworks

MEAN

MongoDB, Express, Angular, Node.js

MERN

MongoDB, Express, React, Node.js

LAMP

Linux, Apache, MySQL, PHP

Django

Python Full-Stack Development

Ruby on Rails

Convention over Configuration

Serverless on AWS

Serverless Architecture on AWS

Flutter Mobile

Flutter Cross-Platform Mobile Development

Spring Boot

Enterprise Java Development

.NET

Microsoft Ecosystem

Vue

Vue.js, Vite, TypeScript, Tailwind, Node.js

Go Backend

Golang, gRPC, PostgreSQL, Redis, RabbitMQ

FastAPI

Python, FastAPI, SQLAlchemy, PostgreSQL

React Native

React, TypeScript, Redux, Firebase

iOS Native

Swift, SwiftUI, UIKit, Firebase

Android Native

Java, Jetpack Compose, Firebase

DevOps / Platform

Docker, Kubernetes, Terraform, CI/CD

AI Engineer

LLMs, RAG, Agents, Evals

AI-Powered Developer

Claude Code, Copilot, Agentic Workflows

Core SWE Interview Prep

Data structures, algorithms, OS, concurrency, networking, git