DEV Community

Pranav Bakare
Pranav Bakare

Posted on

3 1 1 1 1

Continuous Integration/Continuous Deployment (CI/CD) process

The pipeline steps you’ve mentioned correspond to a typical deployment workflow in a Continuous Integration/Continuous Deployment (CI/CD) process. Here’s a detailed explanation of each step:


  1. Build Passed

What Happens:

The application code is compiled and built.

This may involve compiling source files (e.g., Java, Python, or TypeScript), resolving dependencies, and packaging the application (e.g., into JAR, WAR, or ZIP files).

Purpose:

To ensure the code compiles without errors and all dependencies are resolved.

Tools Involved:

Build tools like Maven, Gradle, or npm.


  1. Child Passed

What Happens:

If the project has submodules or dependencies, this step ensures that those child modules are built and pass their individual tests.

For example, a multi-module Maven project builds each module separately.

Purpose:

To validate the integrity of dependent modules before moving to the main application.


  1. File Copy Passed

What Happens:

The built files (e.g., JAR/WAR, configuration files) are copied to a specific directory or staging area.

These files are prepared for deployment to the target environment (e.g., servers or containers).

Purpose:

To organize the artifacts for deployment and ensure they’re accessible in the next steps.


  1. Stop App Passed

What Happens:

The currently running application instance is stopped gracefully on the target environment.

This may involve stopping services, containers, or processes.

Purpose:

To avoid conflicts during deployment and ensure that updated components can be safely deployed.

Tools Involved:

Application management tools like systemd, Docker, Kubernetes, or custom scripts.


  1. Pre-DB Deploy Passed

What Happens:

Pre-deployment scripts or tasks related to the database are executed. These might include:

Taking database backups.

Validating the schema.

Preparing rollback scripts.

Purpose:

To ensure the database is in a consistent state before applying any changes.


  1. DB Promote Passed

What Happens:

Changes to the database schema or data are applied. This includes:

Running SQL migration scripts.

Creating or modifying tables, indexes, or stored procedures.

Purpose:

To promote database changes from a staging environment to production or the next stage of deployment.

Tools Involved:

Database migration tools like Flyway, Liquibase, or custom SQL scripts.


  1. Post-DB Deploy Passed

What Happens:

Post-deployment tasks for the database are executed. These might include:

Verifying the applied changes.

Running health checks.

Applying final data transformations or cleanup tasks.

Purpose:

To ensure the database changes were successful and everything is functioning as expected.


  1. App Remote Passed

What Happens:

The application binaries or artifacts are remotely deployed to the target servers or containers.

This involves copying files, updating configurations, and setting permissions.

Purpose:

To prepare the updated application for execution in the target environment.

Tools Involved:

Tools like Ansible, SCP, Kubernetes, or cloud deployment tools.


  1. Start App

What Happens:

The application is started in the target environment.

This may involve:

Starting services.

Running containers.

Executing startup scripts.

Purpose:

To bring the application online for users or further testing.

Tools Involved:

Systemd, Docker, Kubernetes, or custom deployment scripts.


Purpose of This Pipeline

This pipeline is designed to ensure a smooth, reliable, and automated deployment process. Each step is a safeguard against potential failures:

  1. Build & Test Code: Validates the codebase.

  2. Manage Dependencies: Ensures dependencies are resolved and child modules work.

  3. File Preparation: Packages artifacts for deployment.

  4. Stop and Deploy: Ensures a smooth transition with minimal downtime.

  5. Database Changes: Safeguards and applies schema changes.

  6. Deployment: Distributes the application to the runtime environment.

  7. Restart & Validation: Ensures the application runs successfully in the new state.

👋 Kindness is contagious

Before you go

Please leave your appreciation by commenting on this post!

It takes one minute and is worth it for your career.

Get started

Top comments (0)

Sentry image

See why 4M developers consider Sentry, “not bad.”

Fixing code doesn’t have to be the worst part of your day. Learn how Sentry can help.

Learn more

👋 Kindness is contagious

Discover a treasure trove of wisdom within this insightful piece, highly respected in the nurturing DEV Community enviroment. Developers, whether novice or expert, are encouraged to participate and add to our shared knowledge basin.

A simple "thank you" can illuminate someone's day. Express your appreciation in the comments section!

On DEV, sharing ideas smoothens our journey and strengthens our community ties. Learn something useful? Offering a quick thanks to the author is deeply appreciated.

Okay