Logo

dev-resources.site

for different kinds of informations.

What the hack are CI/CD pipelines?

Published at
12/19/2024
Categories
cicd
developer
programming
coding
Author
idilsaglam
Categories
4 categories in total
cicd
open
developer
open
programming
open
coding
open
Author
10 person written this
idilsaglam
open
What the hack are CI/CD pipelines?

OK. First of all, you need to understand some fancy terms to know in order to understand properly what CI/CD pipelines are.

Good to know: CI/CD stands for Continuous Integration and Continuous Delivery/Deployment which are practices used in software development to automate and streamline the process of building, testing, and deploying applications.

Image description

Continuous Integration (CI)

Developers frequently push code to a shared repository (like GitHub or GitLab).Every time new code is added (through a commit or pull request), the CI pipeline runs automatically.

It usually:
- Builds the application (compiling the code).
- Runs tests to ensure the new code doesn’t break existing features.

If the build or tests fail, developers are notified, and they can fix the problem quickly.

So, to sum up the goal of Continuous Integration (CI) is
automate the process of integrating code changes into a shared codebase.

Real-life example:
Let’s say you’re working on a website. Every time you make a change and push it to the main repository, the CI pipeline will:

  1. Automatically build your project (e.g., turn your code into an executable or deployable state).
  2. Run a set of automated tests to check if your changes are working.
  3. Report if something is broken so you can fix it immediately.

Continuous Delivery (CD)

Once the CI process finishes and the code is verified, the CD part of the pipeline ensures the code is ready to be deployed at any time.

Continuous Delivery means that the code is always in a deployable state, but human approval might be required to actually deploy it to production.

So, the goal of Continuous Delivery is to automate the deployment of applications to different environments (like staging, testing, and production).

Continuous Deployment (CD):

This takes Continuous Delivery a step further by automatically deploying every code change that passes tests directly to production without human intervention.

This is useful for fast-moving projects that need frequent updates, but it requires a very mature pipeline.

How Does a CI/CD Pipeline Look?

  1. Developer commits code.
  2. CI pipeline starts:
    • Builds the application.
    • Runs unit tests.
  3. If successful, the CD pipeline starts:
    • Deploys to a staging or testing environment for further checks.
  4. If everything looks good:
    • Either deploys to production automatically (Continuous Deployment) or waits for manual approval to deploy (Continuous Delivery).

Key Tools for CI/CD:

  • Jenkins, GitLab CI, GitHub Actions, CircleCI – Automate the CI/CD process.
  • Docker, Kubernetes – Often used for deploying applications in containers.

In summary, CI/CD helps developers work more efficiently by automating routine tasks like testing and deploying, so they can focus on writing code and delivering features faster.

Image description

Happy coding!

cicd Article's
30 articles in total
Favicon
From Bi-weekly to Every 5 Minutes: Modern Continuous Deployment Strategies
Favicon
Streamlining CI/CD with AWS CodePipeline and GitHub Actions: A DevOps Perspective
Favicon
Deploying a Next.js UI App on S3 Using Jenkins🤩
Favicon
How to install Jenkins in ubuntu
Favicon
6 Steps to Master PHPUnit Testing with Ease!
Favicon
Power Platform Connect to Git
Favicon
From Code to Cloud: Builds Next.js on GitHub Actions, straight to production
Favicon
Revolutionizing Software Supply Chain Security: Unlocking the power of GUAC and SBOM
Favicon
A Quick Overview of Delivery Manager Role in the Modern Enterprise SDLC Process (Software Development Life Cycle)
Favicon
Why CI/CD is important for DevOps?
Favicon
shiftleft custom framework
Favicon
Automating Node.js Dependency Upgrades and Build Error Resolution Using AI
Favicon
DevSecops Tools in CICD Pipeline
Favicon
My posts by technology
Favicon
To implement CI/CD for DevOps
Favicon
Insights into how DevOps can improve the speed and quality of software delivery
Favicon
[Boost]
Favicon
Git Integration: How Git Works with CI/CD, Docker, Kubernetes, Jenkins, and Terraform
Favicon
A Roadmap to AWS Amplify Gen2: Shifting Your Mindset from Gen1 to a Modern, AWS-Integrated Frontend CI/CD Platform
Favicon
CI/CD Pipeline Testing For Small Dev Teams.
Favicon
From days to minutes: Build and publish React Native apps using Fastlane and Github Actions
Favicon
Hi @All, I'm working devOps engineer in product based company and I want to is there any tool or way to get test cases from existing products as development from scratch is not possible on this stage to automate automation testing using Selenium Jenkins ?
Favicon
CI/CD pipeline
Favicon
What the hack are CI/CD pipelines?
Favicon
Identifying and Removing Unused Dependencies in pom.xml
Favicon
Automating DevOps with Bitbucket Pipelines – Configuring Triggers and Branch Protection Rules
Favicon
How to Deploy a Static Website to AWS S3 with Razorops CI/CD
Favicon
Make Makefiles Great Again: Why It’s Time to Bring Back the OG Workflow Boss
Favicon
What Happens Behind the .gitignore: How Git Handles Ignored Files
Favicon
Dumriya Live - AWS Oriented Full Stack Application Infrastructure Overview

Featured ones: