🔄 Bước 4 của deployment

CI/CD & cập nhật

Sau khi app đã live, bạn vẫn sẽ sửa và thêm tính năng. CI/CD là cách để mỗi lần bạn cập nhật code, app tự build và tự deploy, không phải làm tay. Kèm theo là bản xem trước và nút quay lui khi lỡ làm hỏng.

Nhớ một điều: bạn chỉ cần đẩy code lên GitHub. Phần còn lại để hệ thống tự lo. Đó là cả ý nghĩa của CI/CD.
Bạn đẩy code lên GitHubmột thao tác
Push
tự build & deploy
App tự cập nhậtbản mới lên link
Live
🔁Tự deploy
👀Preview
↩️Rollback
Giới thiệu

CI/CD là gì?

Hiểu ngắn: một quy trình tự động đưa code mới của bạn thành app mới trên internet, an toàn và đều đặn.

🔄 Tự động từ code tới live

Mỗi lần bạn cập nhật code, hệ thống tự:

  • Lấy code mới từ GitHub.
  • Build lại app.
  • Deploy bản mới lên link.
  • Giữ lại các bản cũ để quay lui khi cần.

🙌 Vì sao người mới cũng nên dùng

Tin vui: bạn gần như không phải cài gì.

  • Hầu hết hosting đã có sẵn CI/CD khi nối GitHub.
  • Đỡ quên bước deploy, đỡ thao tác tay.
  • Có bản xem trước trước khi ra thật.
  • Lỡ hỏng thì quay lui rất nhanh.
Ẩn dụ dễ nhớ: CI/CD giống một băng chuyền tự động: bạn đặt nguyên liệu (code) lên đầu băng, cuối băng ra thành phẩm (app mới) mà không phải tự bê từng bước.
Từ điển nhỏ

Vài khái niệm sẽ gặp

Không cần thuộc, chỉ cần nhận ra khi thấy trên bảng điều khiển của hosting.

🔁

Auto deploy

Tự deploy. Đẩy code lên GitHub là app tự build và lên link, không cần làm tay.

👀

Preview deployment

Bản xem trước. Mỗi thay đổi được tạo một link tạm để xem thử trước khi ra thật.

🌍

Production branch

Nhánh chính thức. Nhánh nào trên GitHub sẽ thành bản thật cho người dùng.

↩️

Rollback

Quay lui. Lỡ deploy bản hỏng thì bấm quay về bản tốt trước đó.

📜

Build log

Nhật ký build. Khi build lỗi, log cho biết hỏng ở đâu để sửa.

🧪

Kiểm thử tự động

Kiểm trước khi ra. Có thể cho chạy kiểm tra tự động trước khi deploy, để chặn bản lỗi.

Phần chính

Một vòng cập nhật diễn ra thế nào

Đây là điều xảy ra mỗi lần bạn sửa app sau khi đã có CI/CD.

1

Bạn sửa code và đẩy lên GitHub

Làm thay đổi trên một nhánh, rồi đẩy lên. Đây là thao tác duy nhất bạn làm tay.

Vì sao: GitHub là điểm khởi đầu của cả băng chuyền.
2

Hosting tự build

Hệ thống thấy code mới, tự dựng lại app. Nếu build lỗi, nó báo và không đưa bản hỏng ra.

Vì sao: chặn bản lỗi trước khi tới người dùng.
3

Tạo bản xem trước

Với thay đổi chưa lên thật, hosting cho một link preview để bạn xem và duyệt.

Vì sao: xem thử an toàn trước khi cho mọi người thấy.
4

Gộp vào nhánh chính

Khi ưng, gộp thay đổi vào nhánh chính thức. Hosting tự deploy thành bản thật.

Vì sao: chỉ thứ đã duyệt mới ra cho người dùng.
5

Lỡ hỏng thì quay lui

Nếu bản mới có vấn đề, bấm rollback để về bản tốt trước đó trong khi bạn sửa.

Vì sao: giữ app luôn dùng được, không để người dùng kẹt với bản lỗi.
Vì sao đáng dùng

Có CI/CD và không có

Khác biệt rõ nhất là sự an tâm và tốc độ khi bạn cập nhật app.

😓 Không có CI/CD

  • Phải nhớ và làm tay từng lần deploy.
  • Dễ quên, dễ sai bước.
  • Khó xem trước, khó quay lui.
  • Lỡ hỏng là người dùng chịu trận.

😌 Có CI/CD

  • Đẩy code là tự deploy, đỡ thao tác.
  • Có bản xem trước cho mỗi thay đổi.
  • Quay lui nhanh khi cần.
  • Cập nhật thường xuyên mà vẫn an toàn.
Phòng trước cho đỡ khổ

Lỗi thường gặp & mẹo nhờ AI

CI/CD nhẹ nhàng, nhưng vẫn có vài chỗ người mới cần để ý.

🏗️

Build lỗi nên không cập nhật

Đẩy code rồi nhưng link vẫn bản cũ vì build hỏng giữa chừng.

Cách sửa: mở build log xem hỏng ở đâu, sửa rồi đẩy lại.
🌗

Env khác nhau giữa preview và thật

Bản preview chạy ngon nhưng bản thật lỗi vì thiếu env ở môi trường thật.

Cách sửa: khai env cho cả preview và production (xem trang Env).
🔀

Deploy nhầm nhánh

Tưởng đang sửa bản nháp nhưng lại đẩy thẳng vào nhánh chính thức.

Cách sửa: làm trên nhánh phụ, xem preview, ưng mới gộp vào nhánh chính.
🙈

Không kiểm trước khi ra

Deploy thẳng mà không xem preview, lỗi tới tay người dùng mới biết.

Cách sửa: luôn mở link preview thử trước khi gộp ra bản thật.
Ví dụ cách giao việc cho AI "Hãy giúp tôi thiết lập tự deploy cho app này: mỗi lần đẩy code lên nhánh chính thì tự build và lên bản thật, còn nhánh phụ thì tạo bản xem trước. Nhắc tôi khai environment variable cho cả hai môi trường."

Với CI/CD, bạn chỉ cần đẩy code, phần còn lại tự lo.

App ra internet không phải đích đến mà là khởi đầu. Có quy trình tự cập nhật, bản xem trước và nút quay lui, bạn có thể cải tiến app đều đặn mà vẫn ngủ ngon.

← Về trang chủ deployment · Phong Ho - AI Business