DEV Community

Maki chen
Maki chen

Posted on

"CI/CD Automated Deployment: The Secret to Going Live in 2 Minutes"

Have you ever experienced this: the website is done, but the engineer says "deployment will take a day." You fix a typo, and it takes another half day to go live. Worse still, after going live you discover the SSL certificate wasn't installed, a page returns 404, or the mobile layout is completely broken.

All of these problems share the same root cause: manual deployment.

At HEY!BOSS 銀月數位顧問, we use CI/CD automated deployment. From code push to live website, it takes just 2 minutes with zero human intervention. This article reveals our complete technical architecture.

1. What Is CI/CD?

CI (Continuous Integration) means every code change automatically triggers a build and test process, ensuring new code doesn't break existing functionality.

CD (Continuous Deployment) means code that passes all tests is automatically deployed to production without manual intervention.

Combined, they form a CI/CD Pipeline: code travels from the developer's machine to the user's browser, fully automated, fully traceable, and fully repeatable.

2. HEY!BOSS's Complete CI/CD Pipeline

Here is our actual Jenkins Pipeline in production. Every deployment passes through these 6 stages:

Stage 1: Git Push — Triggering the Pipeline

An engineer pushes code to GitLab. GitLab's webhook automatically notifies Jenkins: "New code is here, start working." The entire pipeline kicks off automatically — no one needs to press any button.

Stage 2: Build — Building the Project

Jenkins pulls the latest code and runs the build command (npm build / yarn build). For front-end frameworks like Vue or React, this stage compiles TypeScript to JavaScript, minifies CSS, optimizes images, and generates static files.

Stage 3: Test — Automated Testing

After a successful build, the test suite runs automatically, including:

  • Unit tests — Logic verification of core functionality

  • Integration tests — Correctness of API calls and data flow

  • Playwright E2E tests — Simulating real user interactions, validating functionality at the browser level

If any test fails, the pipeline immediately stops. No problematic code enters production.

Stage 4: Deploy — Docker Container Deployment

After tests pass, Jenkins automatically deploys:

  • Build Docker image

  • Push to private Docker registry

  • Pull the new image on the production server

  • Restart service via docker-compose

The benefit of Docker containerization is environment consistency. If it runs in dev, it runs in production. No more "it works on my machine" issues.

Stage 5: SSL — Let's Encrypt Auto Certificates

After deployment, if it's a new domain, Nginx Proxy Manager automatically requests a free SSL certificate from Let's Encrypt. HTTPS forced redirect is also configured automatically. Certificates are auto-renewed before expiration — no dates to remember.

Stage 6: DNS — Automatic Domain Configuration

Through the AWS Route 53 API, new subdomain DNS records are automatically created, pointing to the correct server IP. From domain to HTTPS connection, everything is automated.

3. Nginx Proxy Manager: The Traffic Command Center

When you have dozens or even hundreds of websites deployed on the same server, you need a "traffic command center" to route each domain to the right Docker container. That's the role of Nginx Proxy Manager.

  • Reverse proxy — Automatically routes traffic to the corresponding container based on domain name

  • SSL management — Centralized management of SSL certificates for all domains

  • Access control — IP whitelisting or password protection for specific sites

  • Web UI — Graphical interface for managing all proxy rules, no manual Nginx config writing needed

All 100 of HEY!BOSS's brand websites are managed through a single Nginx Proxy Manager. Adding a new site takes just a few clicks in the UI, or can be automated via API.

4. Monitoring: Deployment Is Just the Beginning

Many companies' DevOps ends at deployment. But at HEY!BOSS, we believe deployment is just the real beginning. Post-launch monitoring is equally important:

Health Check

HTTP requests are automatically sent to all websites every 5 minutes to confirm normal responses. Three consecutive failures trigger an immediate Telegram alert with error details and server status.

Cost Report

Daily AWS usage costs are automatically calculated and pushed to Telegram. Costs exceeding set thresholds trigger alerts, preventing unexpected cost spikes (such as DDoS attacks causing traffic cost surges).

Deployment Notifications

Every CI/CD pipeline completion (whether success or failure) triggers a Telegram notification including: project name, trigger source, duration, and success/failure status. For failures, key error log lines are also included.

5. Real Numbers: HEY!BOSS's Deployment Efficiency

Here is our actual production deployment data:

  • Average deployment time — 1 minute 47 seconds (including build, test, deploy, and SSL)

  • Deployment success rate — 98.5% (the 1.5% failures were all caught at the testing stage, never reaching production)

  • Rollback time — 15 seconds (docker-compose switch to previous image)

  • SSL issuance time — Average 23 seconds (Let's Encrypt DNS validation)

  • Zero manual intervention — From git push to live, no human steps involved

This isn't lab-ideal data — it's real production environment metrics we run every day.

"Deployment should be as natural as breathing. You don't manually operate your lungs with every breath, and deployment shouldn't require manual steps either. CI/CD makes deployment an action that requires zero thought."

6. Why This Matters

CI/CD isn't just a technical upgrade — it's a business competitive advantage:

  • Speed — Product updates go from "once a month" to "anytime," responding faster to market needs

  • Quality — Automated tests catch issues before users see them

  • Cost — Time saved on manual deployment can be invested in more valuable development work

  • Confidence — No more worrying "will the deployment break something?" because the process is repeatable and predictable

Every HEY!BOSS 銀月數位顧問 client project benefits from this CI/CD infrastructure. It's not an add-on — it's standard.

Top comments (0)