CI/CD Pipeline Documentation – Wabot App

Project Repository: https://gitlab.woojin.help/wjATControlTeam/wabot-app

What is a CI/CD Pipeline?

A CI/CD Pipeline (Continuous Integration/Continuous Deployment) is an automated process that runs every time you make changes to your code.

  • Builds Docker images from your code automatically
  • Tests the code (if tests are present)
  • Publishes the images to a registry
  • Deploys the application automatically

Think of it as your personal assistant that takes care of all the boring, repetitive tasks every time you write new code.

How Our Pipeline Works

Our pipeline is defined in the `.gitlab-ci.yml` file and gets triggered by automatically by Gitlab on certain conditions.

Development (`dev` branch)

  • Trigger: Every code commit to `dev` branch
  • Creates: Images with `:dev` tag
  • Usage: Office development and testing
  • Updates: Automatic every 30 seconds

Serial Production (`v1.2.3` tags)

  • Trigger: Git tags like v1.2.3 (only from main branch)
  • Creates: Images with version tag + :latest tag
  • Usage: Serial production and software releases
  • Updates: Manual, controlled production deployment

Production Testing (`v1.2.3-beta` tags)

  • Trigger: Git tags like v1.2.3-beta1 (only from main branch)
  • Creates: Images with version tag only
  • Usage: Production testing and validation
  • Updates: Manual deployment for testing

Summary

TagUsageUpdate FrequencyStability
:devOffice development & testingEvery commitExperimental
:v1.2.3 -> :latestSerial production & software releasesManualProduction-ready
:v1.2.3-betaTesting before software releaseManualStable

Security Features

  • Serial production tags must come from `main` branch only
  • Prevents accidental deployments from development branches
  • Beta versions don’t get `:latest` tag (prevents automatic production updates)

Subscribe
Notify of
0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Scroll to Top
0
Would love your thoughts, please comment.x
()
x