Ci cd

Beginner Level

Basic concepts and fundamentals of Continuous Integration and Continuous Deployment.

Beginner Level

This section covers fundamental concepts of CI/CD, including basic principles, tools, and common practices.

What is CI/CD?

CI/CD stands for Continuous Integration and Continuous Delivery/Deployment:

  • Continuous Integration: Automatically integrating code changes into a shared repository
  • Continuous Delivery: Automating the delivery of applications to selected environments
  • Continuous Deployment: Automatically deploying all code changes to production

What are the key components of a CI/CD pipeline?

  • Source Control (e.g., Git)
  • Build Tools
  • Test Automation
  • Deployment Tools
  • Monitoring Systems

What is Jenkins and what is it used for?

Jenkins is an open-source automation server used to build, test, and deploy software. It provides:

  • Pipeline automation
  • Plugin ecosystem
  • Build automation
  • Deployment tools

What is the difference between Continuous Delivery and Continuous Deployment?

  • Continuous Delivery: Changes are automatically built, tested, and prepared for release but require manual approval for deployment
  • Continuous Deployment: Changes automatically go through the pipeline and into production without manual intervention

What is a build pipeline?

A build pipeline is a set of automated processes that:

  • Compiles code
  • Runs tests
  • Creates artifacts
  • Prepares for deployment

What is version control and why is it important in CI/CD?

Version control (e.g., Git) tracks changes to source code and enables:

  • Collaboration
  • Code history
  • Branch management
  • Conflict resolution

What are the basic stages in a CI/CD pipeline?

  1. Source (Code checkout)
  2. Build
  3. Test
  4. Package
  5. Deploy

What is a Dockerfile and why is it important in CI/CD?

A Dockerfile is a script containing instructions to build a Docker image. It's important because it:

  • Ensures consistent environments
  • Enables containerization
  • Simplifies deployment

What is automated testing in CI/CD?

Automated testing includes:

  • Unit tests
  • Integration tests
  • Functional tests
  • Performance tests Running automatically when code changes are pushed.

What is a build artifact?

A build artifact is the output of a build process, such as:

  • Compiled code
  • Container images
  • Documentation
  • Package files

What is a webhook in CI/CD?

A webhook is an automated notification that:

  • Triggers pipeline events
  • Integrates different tools
  • Enables automated workflows

What is environment configuration in CI/CD?

Environment configuration includes:

  • Server settings
  • Database connections
  • API endpoints
  • Environment variables

What is a build trigger?

A build trigger is an event that starts a CI/CD pipeline, such as:

  • Code commits
  • Pull requests
  • Scheduled builds
  • Manual triggers

What are environment variables in CI/CD?

Environment variables store configuration data like:

  • API keys
  • Database credentials
  • Service endpoints
  • Build configurations

What is a deployment strategy?

Basic deployment strategies include:

  • Rolling updates
  • Blue-green deployment
  • Canary releases
  • Feature flags

What is source code management (SCM)?

SCM tools (like Git) provide:

  • Version control
  • Branch management
  • Collaboration features
  • Code history

What is a build agent/node?

A build agent/node is a machine that:

  • Executes pipeline tasks
  • Runs builds
  • Performs tests
  • Handles deployments

What is a pipeline as code?

Pipeline as code means:

  • Defining pipelines in code
  • Version controlling pipeline configurations
  • Treating pipeline config as part of the application

What is a build status?

Build status indicates pipeline state:

  • Success
  • Failure
  • In Progress
  • Cancelled

What are artifacts repositories?

Artifact repositories store build outputs like:

  • Binary files
  • Container images
  • Documentation
  • Dependencies

On this page