> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cloudthinker.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Pipelines

> Bật phân tích pipeline để mọi lượt chạy CI thất bại đều có giải thích nguyên nhân gốc và cách khắc phục đề xuất, không cần đọc log job thô.

Pipeline là lượt chạy build và test của hệ thống CI cho một commit. Khi bật phân tích pipeline, Review tiếp nhận từng lượt chạy thất bại, đọc các job lỗi và viết phát hiện giải thích vì sao pipeline hỏng và cách khắc phục.

## Điều kiện tiên quyết

* Một repository đã kết nối qua [thiết lập Review](https://docs.cloudthinker.io/vi/guide/code-review/setup.md), với provider gửi sự kiện pipeline:

  | Provider | Nguồn gửi sự kiện pipeline | CI được phân tích |
  | - | - | - |
  | GitHub | CloudThinker GitHub App | Các lượt chạy workflow GitHub Actions |
  | Bitbucket | Được đăng ký sẵn trong quá trình thiết lập | Bitbucket Pipelines |
  | GitLab | Trigger **Pipeline events** trên webhook của bạn | Pipeline GitLab CI/CD |
  | Azure DevOps | Service hook **Build completed** | Build Azure Pipelines |

  Review chỉ lấy job và log từ các hệ thống CI này, nên các lượt chạy từ công cụ CI khác, chẳng hạn check run do công cụ khác đăng trên GitHub, sẽ không được phân tích. Xem [Cấu hình webhook](https://docs.cloudthinker.io/vi/guide/code-review/provider-auth.md#cấu-hình-webhook). Repository AWS CodeCommit không hỗ trợ phân tích pipeline.
* Vai trò **Admin** của workspace để bật phân tích hoặc khởi chạy thủ công. Những người khác có thể đọc lượt chạy và phát hiện. Xem [vai trò](https://docs.cloudthinker.io/vi/guide/security/roles.md).

## Bật phân tích pipeline

Phân tích pipeline là cài đặt áp dụng cho toàn workspace và mặc định tắt. Không có công tắc theo từng repository: khi đã bật, mọi lượt chạy thất bại từ repository đã kết nối có gửi sự kiện pipeline đều được phân tích.

**1. Mở cài đặt Review**

Vào **Review → Settings**.

**2. Bật tính năng**

Trong mục **Review**, bật **Pipeline analysis**. Bạn cũng có thể nhấn **Turn on** trong banner ở đầu trang **Review → Pipelines**.

**Trạng thái thành công:** thông báo hiển thị "Pipeline analysis enabled", và các lượt chạy CI mới từ repository đã kết nối bắt đầu xuất hiện trên **Review → Pipelines**.

## Cách một lượt chạy thất bại trở thành phát hiện

1. Provider gửi sự kiện pipeline, và Review ghi nhận lượt chạy cùng trạng thái và commit.
2. Chỉ lượt chạy thất bại mới được phân tích. Lượt chạy thành công, đang chạy, đang chờ và bị hủy được liệt kê nhưng không bao giờ được phân tích, và một lượt chạy không bao giờ được phân tích hai lần.
3. Review lấy các job lỗi và 50 KB cuối của log mỗi job qua kết nối Git. Khi lượt chạy thuộc một MR hoặc PR đã được review, Review liên kết lượt chạy với MR/PR đó để phân tích có thể dùng ngữ cảnh review của thay đổi đó.
4. CloudThinker phân tích các job lỗi trong một cuộc hội thoại Chat và viết phát hiện nguyên nhân gốc kèm cách khắc phục đề xuất. Admin của workspace nhận thông báo **Pipeline analysis** khi tìm thấy vấn đề. Chọn nơi nhận trong [cài đặt thông báo](https://docs.cloudthinker.io/vi/guide/notifications.md).

> [!NOTE]
>
> Review chỉ đọc 50 KB cuối của log mỗi job lỗi. Nếu lỗi thực sự xuất hiện sớm hơn, ví dụ lỗi biên dịch theo sau là một đoạn dump test dài, phân tích có thể bỏ sót. Hãy cho job dừng sớm khi lỗi, hoặc giảm output dài dòng, để lỗi nằm gần cuối log.

Phân tích là một cuộc hội thoại với agent, nên các quy tắc [bảo vệ dữ liệu](https://docs.cloudthinker.io/vi/guide/security/data-protection.md) cho output của công cụ áp dụng với log mà agent đọc.

## Kiểm tra một lượt chạy thất bại

**1. Mở danh sách lượt chạy**

Vào **Review → Pipelines**. Mỗi dòng hiển thị **Status** của lượt chạy, **Pipeline** (repository, số thứ tự và commit) và trạng thái **Analysis**. Thu hẹp danh sách bằng **Search runs**, **Any status** và **Any analysis**.

**2. Bắt đầu phân tích nếu chưa chạy**

Lượt chạy thất bại được đánh dấu **Not analyzed** có nút **Analyze**. Nhấn nút này để bắt đầu ngay mà không phải chờ.

**Trạng thái thành công:** thông báo hiển thị "Pipeline analysis started" và dòng chuyển sang **Analyzing**.

**3. Đọc phát hiện**

Mở lượt chạy. **Pipeline jobs** hiển thị từng stage và job cùng trạng thái. **Findings** liệt kê các nguyên nhân gốc với **Severity**, **Issue**, **Location** và **Status**. Status là **Open** cho đến khi có người xử lý phát hiện, sau đó là **Resolved**, **Acknowledged** hoặc **Withdrawn**. Mở một phát hiện để xem **Description** và **Suggested Fix**.

**4. Chuyển giao cách khắc phục**

Trên một phát hiện, nhấn **Copy prompt** để sao chép yêu cầu sửa lỗi soạn sẵn cho coding agent của bạn, hoặc **View file** để đi đến đoạn mã lỗi trên provider. Trên danh sách lượt chạy, nhấn badge **Analyzed** để mở toàn bộ phân tích trong Chat.

Danh sách dùng hai loại trạng thái:

| Trạng thái lượt chạy | Ý nghĩa |
| - | - |
| Pending, Running | Pipeline chưa kết thúc trên provider |
| Success | Pipeline đã chạy thành công. Không phân tích |
| Failed | Pipeline thất bại và có thể được phân tích |
| Cancelled | Pipeline đã bị hủy. Không phân tích |

| Phân tích | Ý nghĩa |
| - | - |
| Not analyzed | Lượt chạy thất bại đang chờ phân tích |
| Analyzing | CloudThinker đang đọc các job lỗi |
| Analyzed | Phát hiện đã sẵn sàng |
| Analysis failed | Không lấy được job hoặc không khởi chạy được phân tích. Không có nút thử lại: chạy lại pipeline trên provider để có lượt chạy mới |

## Khắc phục sự cố

> **Review → Pipelines hiển thị No pipeline runs yet**
>
> Kiểm tra **Pipeline analysis** đã bật và webhook của provider đã được thiết lập để gửi sự kiện pipeline. Sau đó push một commit có chạy pipeline.

> **Trang hiển thị Pipeline analysis unavailable**
>
> Phân tích pipeline đang tắt trong workspace này và bạn không có vai trò Admin của workspace. Hãy nhờ Admin của workspace bật tính năng.

> **Lượt chạy thất bại hiển thị Analysis failed**
>
> Review không lấy được các job lỗi từ provider hoặc không khởi chạy được phân tích. Mỗi lượt chạy chỉ được phân tích một lần, nên hãy kiểm tra kết nối Git còn hoạt động tốt trong [thiết lập Review](https://docs.cloudthinker.io/vi/guide/code-review/setup.md), rồi chạy lại pipeline trên provider để có lượt chạy mới.

> **Tôi không thấy nút Analyze**
>
> Nút chỉ hiển thị trên lượt chạy thất bại được đánh dấu **Not analyzed**, và chỉ với Admin của workspace.

## Bước tiếp theo

> **[Releases](https://docs.cloudthinker.io/vi/guide/code-review/releases.md)**
>
> Kiểm tra bản release có an toàn để phát hành hay không trước khi deploy

> **[Review Insights](https://docs.cloudthinker.io/vi/guide/code-review/analytics.md)**
>
> Theo dõi chất lượng review và nhận báo cáo repository hằng tuần

> **[Lệnh mention](https://docs.cloudthinker.io/vi/guide/code-review/mention-commands.md)**
>
> Trao đổi với Review từ bình luận MR và PR

> **[Thông báo](https://docs.cloudthinker.io/vi/guide/notifications.md)**
>
> Chọn nơi nhận cảnh báo và bản tóm tắt của Review


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.