CHƯƠNG 18 · Enterprise CI/CD & Multi-Cluster•BÀI 69 / 80

Build once, promote by digest

Một artifact qua Dev, Staging, Prod thay vì build lại ba lần.

Vận hành◷ 4 phút đọc1/4 trong chương

Nắm bản chất

CI kiểm tra tests, build và scan một image; các môi trường dùng chung digest được phê duyệt. Điều này làm giảm biến thể build giữa environments và giúp truy vết rollback. Tags có thể mutable; digest định danh nội dung manifest/index tương ứng.

Promotion thay values GitOps, không thực thi build lại. Release audit nên giữ source SHA, CI run, signature, image digest, PR reviewers và observed imageID khi deploy.

Luồng hoạt động

CI→GHCR digest→GitOps environments

Hãy tự giải thích mỗi mũi tên: dữ liệu, quyền hoặc tín hiệu nào được truyền qua bước này?

Lệnh & cấu hình mẫu

image:
  repository: ghcr.io/ORG/APP
  digest: sha256:REPLACE_WITH_VERIFIED_DIGEST
cosign verify --certificate-identity IDENTITY   --certificate-oidc-issuer ISSUER   ghcr.io/ORG/APP@sha256:REAL_DIGEST

Lệnh có placeholder hoặc phụ thuộc môi trường thì cần thay thông tin thực tế, kiểm tra quyền và chỉ thực hiện trên tài nguyên được phép.

Bài tập 10–20 phút

✳

Trong lab Buổi 18, dùng promotion script trên data giả lập kiểm tra Dev→Staging→Prod chỉ nhận đúng digest của môi trường trước.

Lỗi dễ mắc

!

Promotion JSON tự ghi không phải bằng chứng reviewer thực sự approve. Phải đối chiếu protected PR history/environment audit.

Tự kiểm tra

Build lại source trong production có bảo đảm cùng digest với image đã test không?Xem đáp án ↗

Không. Build environment và dependencies có thể thay đổi; ưu tiên promote artifact đã kiểm chứng.

TÀI NGUYÊN ĐI KÈM

Học thêm qua lab

Có project thực hành đúng với chương này, kèm README và những giới hạn môi trường cần lưu ý.

↓ Tải mã nguồn thực hành chương 18
NGUỒN CHÍNH THỨC

Đối chiếu tài liệu gốc

Cú pháp và khả năng hỗ trợ có thể thay đổi theo phiên bản. Trước khi dùng Production, hãy kiểm tra tài liệu tương ứng.

Mở tài liệu chính thức ↗