Chuyển tới nội dung chính

Deploy Config & Deploy Application

Deployment Configuration cho phép người dùng cấu hình một Deploy Job trong Pipeline để triển khai ứng dụng lên môi trường Kubernetes sử dụng chiến lược Rolling Update.

Deploy Application cho phép chọn phiên bản Image cần triển khai, kích hoạt thủ công hoặc tự động, theo dõi tiến trình và thực hiện Re-deploy khi cần.

1. Trước Khi Bắt Đầu

Trước khi cấu hình Deployment, hãy đảm bảo:

  • Bạn có quyền chỉnh sửa Pipeline.
  • Pipeline đã được tạo thành công.
  • Pipeline đã có Build Job hoặc sử dụng Registry Source.
  • Environment (Kubernetes Cluster) đã được cấu hình.
  • Có quyền truy cập vào Environment được sử dụng để triển khai.

⚠️ Deployment hiện hỗ trợ chiến lược triển khai Rolling Update.

2. Cấu Hình Deployment

2.1 Thêm Deploy Job

Thêm Deploy Job

Thực hiện

  1. Mở Pipeline Editor.
  2. Chọn Add Job.
  3. Chọn loại Job là Deploy.

Kết quả

  • Deploy Job được thêm vào Pipeline.
  • Hệ thống hiển thị màn hình cấu hình Deployment.

2.2 Cấu Hình Thông Tin Cơ Bản

Thực hiện

  1. Nhập Job Name.
  2. Chọn Trigger Type.

Trigger Type

Giá trịÝ nghĩa
ManualNgười dùng chủ động thực hiện Deploy
AutoHệ thống tự động Deploy khi Pipeline hoàn thành thành công

Kết quả

  • Thông tin cơ bản của Deploy Job được lưu thành công.

2.3 Chọn Environment Triển Khai

Thực hiện

  1. Chọn Deploy to Environment.
  2. Chọn Environment cần triển khai.
  3. Chọn Namespace tương ứng.

Kết quả

  • Deployment được liên kết với Environment và Namespace đã chọn.

💡 Chỉ các Environment đã được cấu hình mới xuất hiện trong danh sách lựa chọn.

2.4 Cấu Hình Deployment Strategy

Thực hiện

  1. Chọn Deployment StrategyRolling.

Kết quả

  • Deployment Strategy được lưu vào Deploy Job.

⚠️ Phiên bản hiện tại chỉ hỗ trợ Rolling Strategy.

2.5 Cấu Hình Helm Chart

Thực hiện

  1. Chọn Chart Type.
  2. Chọn Chart Version.

Kết quả

  • Helm Chart được liên kết với Deployment Configuration.

💡 Chart Version được lấy từ Helm Chart Repository đã được cấu hình.

2.6 Cấu Hình Values YAML

Values YAML editor

Thực hiện

  1. Nhập hoặc chỉnh sửa Values YAML.
  2. Kiểm tra lại nội dung cấu hình.
  3. Xác nhận YAML hợp lệ.

Values YAML thường được sử dụng để cấu hình:

  • Replica Count
  • Image Repository
  • Image Tag
  • Service Port
  • Ingress
  • Resource Limits
  • Environment Variables

Kết quả

  • Values YAML được lưu vào Deployment Configuration.

⚠️ YAML không hợp lệ sẽ không thể lưu cấu hình.

2.7 Cấu Hình ConfigMap (Tùy chọn)

ConfigMap configuration

Thực hiện

  1. Mở khu vực ConfigMap.
  2. Nhập tên ConfigMap.
  3. Chọn phương thức sử dụng ConfigMap.
  4. Chọn hình thức nhập dữ liệu.
  5. Nhập dữ liệu cấu hình.

ConfigMap Type

LoạiÝ nghĩa
Environment VariableInject dữ liệu thành biến môi trường trong Container
Data VolumeMount dữ liệu thành file trong Container
GUINhập dữ liệu theo từng cặp Key/Value
YAMLNhập trực tiếp dữ liệu bằng YAML

Kết quả

  • ConfigMap được liên kết với Deployment.

💡 Có thể thêm nhiều cặp Key/Value trong cùng một ConfigMap.

2.8 Lưu Deployment Configuration

Save deployment configuration

Thực hiện

  1. Kiểm tra toàn bộ thông tin cấu hình.
  2. Nhấn Save.

Kết quả

  • Deployment Configuration được lưu thành công.
  • Deploy Job xuất hiện trong Pipeline.
  • Pipeline sẵn sàng thực thi Deploy.

3. Triển Khai Ứng Dụng

3.1 Mở Deploy Pipeline

Thực hiện

  1. Truy cập Project.
  2. Mở Pipeline cần triển khai.
  3. Chọn Deploy Job đã được cấu hình.

Kết quả

  • Thông tin Deployment được hiển thị.
  • Người dùng có thể thực hiện Deploy.

3.2 Chọn Phiên Bản Image

Thực hiện

  1. Chọn Image Repository.
  2. Chọn Image Version cần triển khai.

Kết quả

  • Phiên bản Image được gắn với lần Deploy hiện tại.

💡 Nên xác nhận đúng Image Version trước khi thực hiện Deploy.

3.3 Bắt Đầu Triển Khai

Thực hiện

  1. Nhấn Deploy.
  2. Xác nhận thao tác (nếu có).

Kết quả

  • Hệ thống tạo Deployment Run mới.
  • Deployment bắt đầu thực thi.

3.4 Theo Dõi Tiến Trình Triển Khai

Trong quá trình triển khai, người dùng có thể theo dõi:

  • Deployment Status
  • Environment
  • Namespace
  • Image Version
  • Start Time
  • Duration

Kết quả

  • Trạng thái Deploy được cập nhật theo thời gian thực.

3.5 Xác Nhận Kết Quả

Sau khi hoàn thành, hệ thống hiển thị trạng thái cuối cùng của Deployment.

Trạng tháiÝ nghĩa
RunningDeployment đang thực hiện
SuccessDeployment thành công
FailedDeployment thất bại
CancelledDeployment bị hủy

3.6 Re-deploy Ứng Dụng

Thực hiện

  1. Mở Deployment đã hoàn thành.
  2. Chọn Re-deploy.
  3. Xác nhận phiên bản cần triển khai.

Kết quả

  • Hệ thống tạo một Deployment Run mới.
  • Quá trình Deploy được thực hiện lại.

💡 Re-deploy thường được sử dụng khi cần triển khai lại phiên bản hiện tại hoặc sau khi khắc phục sự cố môi trường.

3.7 Tự Động Triển Khai

Auto Deploy cho phép hệ thống tự động triển khai ứng dụng khi Pipeline hoàn thành thành công mà không cần người dùng thực hiện thao tác Deploy thủ công.

Tính năng này được cấu hình trong bước Configure Deployment thông qua trường Trigger Type = Auto.

Luồng hoạt động

  1. Pipeline được thực thi.
  2. Build và các bước xử lý hoàn thành thành công.
  3. Hệ thống tự động khởi tạo Deployment Run.
  4. Ứng dụng được triển khai lên Environment đã được cấu hình.
  5. Trạng thái Deploy được ghi nhận trong Pipeline Run.

Kết quả

  • Không cần thao tác Deploy thủ công.
  • Hệ thống tự động triển khai phiên bản mới.

💡 Auto Deploy thường được sử dụng cho môi trường Development hoặc Staging.

⚠️ Cần cân nhắc trước khi bật Auto Deploy trên môi trường Production.

4. Các Vấn Đề Thường Gặp

Vấn đềNguyên nhânCách xử lý
Không lưu được DeploymentThiếu Job NameNhập Job Name hợp lệ
Không lưu được DeploymentChưa chọn EnvironmentChọn Environment
Không lưu được DeploymentChưa chọn Deployment StrategyChọn Deployment Strategy
Không lưu được DeploymentChưa chọn Chart VersionChọn Chart Version
Invalid YAML formatValues YAML sai cú phápKiểm tra lại YAML
ConfigMap Name is requiredChưa nhập tên ConfigMapNhập tên ConfigMap
Duplicate ConfigMap KeyTrùng Key trong ConfigMapĐổi Key khác
Không chọn được EnvironmentEnvironment chưa được cấu hìnhCấu hình Environment trước
Không có quyền chỉnh sửaThiếu quyềnLiên hệ Project Admin
Không thấy NamespaceNamespace chưa tồn tại trong EnvironmentKiểm tra lại Environment
Không thấy Image VersionChưa có Image được Build hoặc PushKiểm tra Build Pipeline
Auto Deploy không chạyTrigger Type chưa được cấu hình là AutoKiểm tra Deployment Configuration
Auto Deploy không chạyPipeline hoàn thành với trạng thái FailedKiểm tra Pipeline Run
Deployment FailedCấu hình Deployment không hợp lệKiểm tra Deployment Configuration
Deployment FailedEnvironment không khả dụngKiểm tra Cluster và Namespace

5. Lưu Ý & Gợi Ý

💡 Nên sử dụng Auto Trigger cho môi trường Development hoặc Staging.

💡 Nên sử dụng Manual Trigger cho môi trường Production.

💡 Nên sử dụng Namespace riêng cho từng môi trường.

💡 Nên quản lý cấu hình ứng dụng thông qua ConfigMap thay vì hard-code trong image.

💡 Kiểm tra Values YAML trước khi lưu để giảm rủi ro khi triển khai.

💡 Sử dụng tên Job phản ánh đúng mục đích triển khai như deploy-dev hoặc deploy-production.

💡 Luôn xác nhận đúng Image Version trước khi Deploy.

💡 Có thể sử dụng Re-deploy để triển khai lại phiên bản đã chạy trước đó.

⚠️ Environment phải được cấu hình trước khi tạo Deployment.

⚠️ YAML không hợp lệ sẽ khiến cấu hình không thể lưu.

⚠️ Việc thay đổi Deployment Configuration có thể ảnh hưởng tới các lần Deploy tiếp theo.

⚠️ Trigger Type = Auto có thể tự động triển khai phiên bản mới mà không cần thao tác thủ công.

⚠️ Deploy lên Production có thể ảnh hưởng trực tiếp đến người dùng cuối.