Sobes.tech
Middle+

How does deployment to production happen? How is CI/CD structured?

sobes.tech AI

Answer from AI

Deployment to production is usually organized through a CI/CD pipeline, which automates the build, testing, and delivery of the application.

Typical process:

  1. Commit and push code to the repository.
  2. CI (Continuous Integration):
    • Automatic project build.
    • Running unit tests and integration tests.
    • Code analysis (static analysis, style check).
  3. CD (Continuous Delivery/Deployment):
    • Automatic creation of artifacts (jar, docker image, etc.).
    • Deployment to test or staging environments.
    • Automatic or manual checks on staging.
    • Upon successful completion — deployment to production (can be automatic or with manual confirmation).

Tools:

  • Jenkins, GitLab CI, GitHub Actions, TeamCity, etc.
  • Docker and Kubernetes for containerization and orchestration.
  • Ansible, Terraform for infrastructure.

Example of a simple Jenkinsfile for a Java project:

pipeline {
    agent any
    stages {
        stage('Build') {
            steps {
                sh './gradlew build'
            }
        }
        stage('Test') {
            steps {
                sh './gradlew test'
            }
        }
        stage('Deploy to Prod') {
            when {
                branch 'main'
            }
            steps {
                sh './deploy-prod.sh'
            }
        }
    }
}

Thus, CI/CD ensures fast, repeatable, and reliable delivery of changes to production.