Xử lý sự cố
Các vấn đề thường gặp ở bất kỳ đâu trong DevOps Pipeline, nhóm theo nơi xảy ra trong workflow. Nếu vấn đề của bạn không có trong danh sách, liên hệ Project Admin hoặc Organization Admin.
Project và quyền truy cập
| Issue | Cause | Resolution |
|---|---|---|
| Project bị thiếu trong danh sách | Chưa được cấp quyền truy cập. | Liên hệ Organization Admin. |
| Nút Create project không hiện | Không có quyền tạo Project. | Liên hệ Administrator. |
| Không sửa được Project | Không đủ quyền sửa. | Liên hệ Administrator. |
| Project không xuất hiện trong kết quả tìm kiếm | Từ khoá sai, hoặc không có quyền truy cập. | Kiểm tra lại từ khoá tìm kiếm. |
| Không mở được Project | Quyền truy cập đã bị thu hồi. | Liên hệ Administrator. |
Xem Quản lý Project.
Tạo và lưu Pipeline
| Issue | Cause | Resolution |
|---|---|---|
| Không tạo được Pipeline | Không đủ quyền, hoặc Project chưa cấu hình đúng. | Liên hệ Project Admin. |
| Repository không hiện khi thêm source | Chưa cấu hình Git Connection, hoặc không có quyền truy cập repository. | Kiểm tra lại cấu hình Connection. |
| Không lưu được Pipeline | Pipeline chưa đủ điều kiện tối thiểu — thiếu Pipeline Source, Stage, hoặc Job. | Thêm Pipeline Source, ít nhất 1 Stage, và ít nhất 1 Job. |
Câu hỏi thường gặp
- Có thể tạo nhiều Job trong 1 Stage không? Có — 1 Stage chứa được nhiều Job, tuỳ workflow CI/CD.
- Có thể thêm Stage sau khi Pipeline đã tạo không? Có — Pipeline có thể sửa và mở rộng thêm Stage bất kỳ lúc nào.
Trigger
| Issue | Cause | Resolution |
|---|---|---|
| Pipeline không tự chạy | Auto Trigger chưa bật. | Kiểm tra cấu hình Trigger. |
| Push code nhưng Pipeline không chạy | Branch không khớp Branch Filter. | Kiểm tra Branch Filter. |
| GitLab báo lỗi Webhook | URL hoặc Token sai. | Kiểm tra cấu hình Webhook. |
| Trigger ngừng hoạt động sau khi tạo lại Token | GitLab vẫn đang dùng Token cũ. | Cập nhật Token mới vào GitLab. |
| Không thấy thông tin Webhook | Trigger chưa bật. | Bật Auto Trigger trước. |
Xem Cấu hình Trigger.
Deploy
| Issue | Cause | Resolution |
|---|---|---|
| Không lưu được Deployment — thiếu Job Name | Field Job Name còn trống. | Nhập Job Name hợp lệ. |
| Không lưu được Deployment — thiếu Environment | Chưa chọn Environment. | Chọn 1 Environment. |
| Không lưu được Deployment — thiếu Deployment Strategy | Chưa chọn Deployment Strategy. | Chọn 1 Deployment Strategy. |
| Không lưu được Deployment — thiếu Chart Version | Chưa chọn Chart Version. | Chọn 1 Chart Version. |
| Sai định dạng YAML | Values YAML có lỗi cú pháp. | Xem lại và sửa YAML. |
| ConfigMap Name bắt buộc | Chưa nhập tên ConfigMap. | Nhập tên ConfigMap. |
| Trùng Key trong ConfigMap | 1 Key bị trùng trong ConfigMap. | Dùng Key khác. |
| Secret Name bắt buộc | Chưa nhập tên Secret. | Nhập tên Secret. |
| Trùng Key trong Secret | 1 Key bị trùng trong Secret. | Dùng Key khác. |
| Environment không khả dụng | Environment chưa được cấu hình. | Cấu hình Environment trước. |
| Không có quyền sửa | Không đủ quyền. | Liên hệ Project Admin. |
| Không tìm thấy Namespace | Namespace không tồn tại trong Environment. | Kiểm tra lại cấu hình Environment. |
| Không thấy Image Version | Chưa build hoặc push image nào. | Kiểm tra Build Pipeline. |
| Auto Deploy không chạy | Deployment Trigger chưa đặt thành Auto. | Kiểm tra cấu hình Deploy. |
| Auto Deploy không chạy | Pipeline hoàn tất với status Failed. | Kiểm tra Pipeline Run. |
| Deployment Failed | Cấu hình Deploy không hợp lệ. | Xem lại cấu hình Deploy. |
| Deployment Failed | Environment không khả dụng. | Kiểm tra Cluster và Namespace. |
Xem Cấu hình Deploy & Deploy ứng dụng.
Kubectl job
| Issue | Cause | Resolution |
|---|---|---|
| Hiện "No Git credential configured" khi chọn Git repository | Project chưa có Git connection nào. | Thêm 1 Git connection ở mục Credentials trước. |
| Job fail ở bước dry-run | Nội dung manifest có lỗi. | Xem lại và sửa manifest — dry-run bắt lỗi trước khi apply thật chạy, nên cluster chưa bị ảnh hưởng. |
| Job lưu bằng "Add job" không giữ lại sau khi rời trang | Pipeline chưa được lưu. | Nhấn Save Pipeline — "Add job" chỉ lưu Job trong phiên chỉnh sửa hiện tại. |
| Thiếu field Arguments cho Operation khác Apply | Đang chọn sai Operation, hoặc vừa đổi Operation. | Xác nhận lại Operation đã chọn — mỗi Operation có Configuration riêng, đổi Operation sẽ xoá field cũ. |
Xem Thêm Kubectl job.
Chạy và theo dõi
| Issue | Cause | Resolution |
|---|---|---|
| Pipeline không chạy sau khi nhấn Run Pipeline | Không có quyền chạy, Pipeline chưa cấu hình đầy đủ, hoặc lỗi hệ thống tạm thời. | Kiểm tra quyền truy cập, liên hệ Project Admin nếu cần. |
| Pipeline Run thất bại | Build lỗi, test lỗi, deploy lỗi, hoặc environment đích không khả dụng. | Kiểm tra Stage và Job Logs để tìm nguyên nhân. |
Câu hỏi thường gặp
- Có thể chạy nhiều Pipeline Run cùng lúc không? Có — mỗi lần nhấn Run Pipeline tạo 1 Pipeline Run mới, quản lý độc lập.
- Có thể dừng 1 Pipeline đã hoàn tất không? Không — Stop Pipeline chỉ khả dụng khi Pipeline đang ở trạng thái Running.
- Sau khi dừng, có thể tiếp tục từ chỗ đã dừng không? Không — bạn cần tạo 1 Pipeline Run mới.
Xem Chạy và theo dõi Pipeline.
Lịch sử và log
| Issue | Cause | Resolution |
|---|---|---|
| Tab "Run history" không hiện hoặc không nhấn được | Không có quyền Pipeline view. | Liên hệ Admin để xin quyền. |
| Tuỳ chọn "Run history" bị mờ trong dropdown | Pipeline chưa từng chạy. | Chạy Pipeline ít nhất 1 lần trước. |
| Không có kết quả khi tìm | Từ khoá sai hoặc dưới 2 ký tự. | Nhập ít nhất 2 ký tự, kiểm tra lại Run ID hoặc tên actor. |
| Nút "Re-run" bị vô hiệu | Run gốc vẫn đang ở trạng thái Processing. | Đợi run hiện tại hoàn tất, hoặc dừng trước. |
| Re-run báo "Config no longer valid" | Cấu hình của run gốc đã bị xoá. | Tạo run mới từ cấu hình Pipeline hiện tại. |
| Nút "Stop" không hiện | Run không ở trạng thái Processing. | Stop chỉ khả dụng cho run đang chạy. |
| Actor hiện "Unknown user" | User đã trigger không còn tồn tại trong hệ thống. | Hiển thị bình thường — không cần xử lý. |
| Tab "Deployment history" không hiện | Không có quyền Pipeline view. | Liên hệ Admin để xin quyền. |
| Màn hiện "Nothing found" | Pipeline chưa có deployment nào. | Thực hiện ít nhất 1 deployment trước. |
| Nút "View log" bị mờ | Deployment chưa có log. | Không cần xử lý. |
| Nút "View run" bị mờ | Run ID không còn tồn tại — run đã bị xoá, không khôi phục được. | Không cần xử lý. |
| Tuỳ chọn "Cancel" không hiện hoặc bị mờ | Deployment không ở trạng thái Processing. | Cancel chỉ khả dụng cho deployment đang chạy. |
| "Deployed by" hiện "Unknown" | User đã trigger không còn tồn tại. | Hiển thị bình thường — không cần xử lý. |
| "Deployed by" hiện "System" | Deployment được trigger tự động. | Hiển thị bình thường cho auto-deployment. |
| Panel Deployment Detail hiện banner cảnh báo | Previous và Current thuộc 2 Environment khác nhau. | Bình thường — mọi field sẽ khác nhau giữa 2 environment khác nhau. Hãy so sánh deployment trong cùng 1 Environment. |
Credentials, environments, scan job, và approval gate
| Issue | Cause | Resolution |
|---|---|---|
| SonarQube connection verify không thành công | Server URL hoặc authentication token sai. | Kiểm tra lại URL và tạo token mới trong SonarQube. |
| SonarQube scan job không có connection để chọn | Project chưa tạo SonarQube connection nào. | Tạo 1 connection ở mục Credentials → SonarQube trước. |
| Environment không xuất hiện khi cấu hình Deploy Job | Cluster đó chưa có Environment nào. | Thêm 1 Environment ở tab Environments trước. |
| Trivy scan luôn fail Security Gate | Mức độ nghiêm trọng đã chọn khớp với lỗ hổng tìm thấy trong image. | Chỉnh lại mức độ nghiêm trọng, hoặc chọn "Continue with warning" thay vì "Fail pipeline". |
| Approver không tự approve được run của chính mình | Self-approval bị chặn — Actor và Approver là cùng 1 người. | Để người khác approve, hoặc đổi Approver đã cấu hình. |
| Run tự động bị reject ở stage Gate | Không có quyết định approve nào trong Timeout đã cấu hình. | Chạy lại Pipeline và approve trong thời gian Timeout. |
Xem Quản lý Credentials, Quản lý Environments, Thêm security scan job, Thêm approval gate.