Skip to content

Commit bbd8470

Browse files
committed
docs(vi): translate 'understand-github-actions.md' to Vietnamese
1 parent 3a60ac0 commit bbd8470

1 file changed

Lines changed: 204 additions & 0 deletions

File tree

Lines changed: 204 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,204 @@
1+
---
2+
title: Hiểu về GitHub Actions
3+
shortTitle: Hiểu về GitHub Actions
4+
intro: 'Tìm hiểu những kiến thức cơ bản về GitHub Actions, bao gồm các khái niệm cốt lõi và thuật ngữ thiết yếu.'
5+
redirect_from:
6+
- /github/automating-your-workflow-with-github-actions/core-concepts-for-github-actions
7+
- /actions/automating-your-workflow-with-github-actions/core-concepts-for-github-actions
8+
- /actions/getting-started-with-github-actions/core-concepts-for-github-actions
9+
- /actions/learn-github-actions/introduction-to-github-actions
10+
- /actions/learn-github-actions/understanding-github-actions
11+
versions:
12+
fpt: '*'
13+
ghes: '*'
14+
ghec: '*'
15+
type: overview
16+
topics:
17+
- Fundamentals
18+
---
19+
20+
## Tổng quan
21+
22+
{% data reusables.actions.about-actions %} Bạn có thể tạo workflow để build và kiểm thử mỗi pull request vào repository, hoặc triển khai pull request đã merge lên môi trường production.
23+
24+
GitHub Actions không chỉ đơn thuần là DevOps — nó còn cho phép bạn chạy workflow khi có các sự kiện khác xảy ra trong repository. Ví dụ: bạn có thể chạy workflow để tự động thêm nhãn phù hợp mỗi khi có người tạo issue mới trong repository.
25+
26+
GitHub cung cấp máy ảo Linux, Windows và macOS để chạy workflow, hoặc bạn có thể host runner tự quản lý trong trung tâm dữ liệu hoặc hạ tầng đám mây của riêng mình.
27+
28+
## Các thành phần của GitHub Actions
29+
30+
Bạn có thể cấu hình _workflow_ GitHub Actions để kích hoạt khi có _sự kiện_ xảy ra trong repository — ví dụ như mở pull request hoặc tạo issue. Workflow chứa một hoặc nhiều _job_ có thể chạy theo thứ tự tuần tự hoặc song song. Mỗi job sẽ chạy bên trong _runner_ máy ảo riêng của nó, hoặc bên trong container, và có một hoặc nhiều _step_ thực thi script do bạn định nghĩa hoặc chạy _action_ — phần mở rộng có thể tái sử dụng giúp đơn giản hóa workflow.
31+
32+
![Sơ đồ hiển thị một sự kiện kích hoạt runner 1 với Job 1, và runner 2 với Job 2. Mỗi job được chia thành nhiều bước.](/assets/images/help/actions/overview-actions-simple.png)
33+
34+
### Workflow
35+
36+
Workflow là quy trình tự động hóa có thể cấu hình, chạy một hoặc nhiều job. Workflow được định nghĩa bằng file YAML được lưu trong repository và sẽ chạy khi có sự kiện trong repository kích hoạt, hoặc có thể kích hoạt thủ công, hoặc theo lịch đã định.
37+
38+
Workflow được định nghĩa trong thư mục `.github/workflows` của repository. Một repository có thể có nhiều workflow, mỗi workflow thực hiện một tập hợp tác vụ khác nhau. Ví dụ: một workflow build và kiểm thử pull request, workflow khác triển khai ứng dụng mỗi khi có release, và workflow thứ ba thêm nhãn khi có người mở issue.
39+
40+
Bạn có thể tham chiếu một workflow bên trong workflow khác. Để biết thêm thông tin, xem [AUTOTITLE](/actions/using-workflows/reusing-workflows).
41+
42+
Để biết thêm về workflow, xem [AUTOTITLE](/actions/using-workflows).
43+
44+
### Sự kiện (Events)
45+
46+
Sự kiện là hoạt động cụ thể trong repository kích hoạt chạy workflow. Ví dụ: hoạt động có thể bắt nguồn từ GitHub khi có người tạo pull request, mở issue, hoặc push commit vào repository. Bạn cũng có thể kích hoạt workflow chạy theo lịch, bằng cách [POST vào REST API](/rest/repos/repos#create-a-repository-dispatch-event), hoặc thủ công.
47+
48+
Để xem danh sách đầy đủ các sự kiện có thể dùng để kích hoạt workflow, xem [Sự kiện kích hoạt workflow](/actions/reference/events-that-trigger-workflows).
49+
50+
### Job
51+
52+
Job là tập hợp các _step_ trong workflow chạy trên cùng một runner. Mỗi step là script shell sẽ được thực thi, hoặc là một _action_ sẽ được chạy. Các step được thực thi theo thứ tự và phụ thuộc lẫn nhau. Vì mỗi step chạy trên cùng runner, bạn có thể chia sẻ dữ liệu từ step này sang step khác. Ví dụ: một step build ứng dụng và step tiếp theo kiểm thử ứng dụng đã build.
53+
54+
Bạn có thể cấu hình job phụ thuộc vào job khác; theo mặc định, các job không có phụ thuộc chạy song song nhau. Khi một job phụ thuộc job khác, nó sẽ chờ job phụ thuộc hoàn thành trước khi có thể chạy. Ví dụ: bạn có nhiều job build cho các kiến trúc khác nhau không có phụ thuộc, và một job đóng gói phụ thuộc vào các job đó. Các job build sẽ chạy song song nhau, và khi tất cả hoàn thành, job đóng gói mới chạy.
55+
56+
Để biết thêm về job, xem [AUTOTITLE](/actions/using-jobs).
57+
58+
### Action
59+
60+
_Action_ là ứng dụng tùy chỉnh cho nền tảng GitHub Actions thực hiện tác vụ phức tạp thường xuyên lặp lại. Dùng action để giảm lượng code lặp lại trong file workflow. Action có thể pull repository từ GitHub, thiết lập toolchain phù hợp cho môi trường build của bạn, hoặc thiết lập xác thực với nhà cung cấp đám mây.
61+
62+
Bạn có thể viết action của riêng mình, hoặc tìm action dùng trong workflow tại GitHub Marketplace.
63+
64+
{% data reusables.actions.internal-actions-summary %}
65+
66+
Để biết thêm thông tin, xem [AUTOTITLE](/actions/creating-actions).
67+
68+
### Runner
69+
70+
{% data reusables.actions.about-runners %} Mỗi runner có thể chạy một job duy nhất tại một thời điểm. GitHub cung cấp runner Ubuntu Linux, Microsoft Windows và macOS để chạy workflow; mỗi lần chạy workflow sử dụng một máy ảo mới được cung cấp sạch. GitHub cũng cung cấp runner lớn hơn, có sẵn theo các cấu hình khác nhau. Để biết thêm thông tin, xem [AUTOTITLE](/actions/using-github-hosted-runners/about-github-hosted-runners/about-github-hosted-runners). Nếu bạn cần hệ điều hành khác hoặc cần cấu hình phần cứng cụ thể, bạn có thể host runner của riêng mình. Để biết thêm thông tin về runner tự quản lý, xem [AUTOTITLE](/actions/hosting-your-own-runners).
71+
72+
## Tạo workflow ví dụ
73+
74+
GitHub Actions dùng cú pháp YAML để định nghĩa workflow. Mỗi workflow được lưu dưới dạng file YAML riêng trong thư mục `.github/workflows` trong code repository.
75+
76+
Bạn có thể tạo workflow ví dụ trong repository kích hoạt tự động một số lệnh `echo` mỗi khi code được push. Trong ví dụ này, GitHub Actions kiểm tra out (lấy về) code của bạn, cài đặt [bats](https://www.npmjs.com/package/bats) framework kiểm thử, và chạy lệnh bats xuất ra phiên bản phần mềm: `bats -v`.
77+
78+
1. Trong repository, tạo thư mục `.github/workflows/` để lưu file workflow.
79+
1. Trong thư mục `.github/workflows/`, tạo file mới tên `learn-github-actions.yml` và thêm code sau.
80+
81+
```yaml
82+
name: learn-github-actions
83+
run-name: ${{ github.actor }} is learning GitHub Actions
84+
on: [push]
85+
jobs:
86+
check-bats-version:
87+
runs-on: ubuntu-latest
88+
steps:
89+
- uses: actions/checkout@v4
90+
- uses: actions/setup-node@v4
91+
with:
92+
node-version: '20'
93+
- run: npm install -g bats
94+
- run: bats -v
95+
```
96+
97+
1. Commit các thay đổi và push lên repository GitHub.
98+
99+
File workflow mới của bạn giờ đã được cài đặt trong repository và sẽ tự động chạy mỗi khi có người push thay đổi vào repository.
100+
101+
Để xem chi tiết lịch sử thực thi của workflow, xem [AUTOTITLE](/actions/monitoring-and-troubleshooting-workflows/monitoring-workflows/viewing-workflow-run-history).
102+
103+
## Hiểu về file workflow
104+
105+
Để giúp bạn hiểu cách cú pháp YAML được dùng để tạo file workflow, phần này giải thích từng dòng của ví dụ giới thiệu:
106+
107+
```yaml
108+
name: learn-github-actions
109+
```
110+
111+
_Tùy chọn_ — Tên của workflow như hiển thị trong tab Actions của repository GitHub. Nếu trường này bị bỏ qua, tên workflow sẽ là đường dẫn tương đối của file workflow tính từ thư mục gốc repository.
112+
113+
```yaml
114+
run-name: ${{ github.actor }} is learning GitHub Actions
115+
```
116+
117+
_Tùy chọn_ — Tên cho các lần chạy workflow được tạo từ workflow này, như hiển thị trong danh sách lần chạy workflow trên tab Actions của repository. Ví dụ này dùng biểu thức với context `github` để hiển thị tên tài khoản GitHub của người dùng đã kích hoạt lần chạy workflow.
118+
119+
```yaml
120+
on: [push]
121+
```
122+
123+
Chỉ định trigger cho workflow này. Ví dụ này dùng sự kiện `push`, vì vậy lần chạy workflow được kích hoạt mỗi khi có người push thay đổi vào repository hoặc merge pull request. Đây là trigger dựa trên push vào mọi nhánh; để xem ví dụ về cú pháp chỉ chạy khi push vào nhánh, file, hoặc thẻ cụ thể, xem [AUTOTITLE](/actions/reference/events-that-trigger-workflows).
124+
125+
```yaml
126+
jobs:
127+
```
128+
129+
Nhóm tất cả job chạy trong workflow `learn-github-actions`.
130+
131+
```yaml
132+
check-bats-version:
133+
```
134+
135+
Định nghĩa một job tên `check-bats-version`. Các key con sẽ định nghĩa thuộc tính của job.
136+
137+
```yaml
138+
runs-on: ubuntu-latest
139+
```
140+
141+
Cấu hình job chạy trên phiên bản Ubuntu Linux runner mới nhất. Điều này có nghĩa job sẽ chạy trên máy ảo mới được cung cấp bởi GitHub.
142+
143+
```yaml
144+
steps:
145+
```
146+
147+
Nhóm tất cả các step chạy trong job `check-bats-version`. Mỗi mục được lồng dưới phần này là một action hoặc script shell riêng.
148+
149+
```yaml
150+
- uses: actions/checkout@v4
151+
```
152+
153+
Từ khóa `uses` chỉ định rằng step này sẽ chạy `v4` của action `actions/checkout`. Đây là action kiểm tra repository của bạn lên runner, cho phép bạn chạy script hoặc action khác trên code của mình (như công cụ build và kiểm thử). Bạn nên dùng action checkout bất cứ khi nào workflow của bạn sẽ chạy trên code của repository.
154+
155+
```yaml
156+
- uses: actions/setup-node@v4
157+
with:
158+
node-version: '20'
159+
```
160+
161+
Step này dùng action `actions/setup-node@v4` để cài đặt phiên bản Node.js được chỉ định trên runner, cho phép bạn truy cập lệnh `npm`.
162+
163+
```yaml
164+
- run: npm install -g bats
165+
```
166+
167+
Từ khóa `run` yêu cầu job thực thi lệnh trên runner. Trong trường hợp này, bạn đang dùng `npm` để cài đặt gói kiểm thử phần mềm `bats`.
168+
169+
```yaml
170+
- run: bats -v
171+
```
172+
173+
Cuối cùng, bạn chạy lệnh `bats` với tham số xuất ra phiên bản phần mềm.
174+
175+
### Trực quan hóa file workflow
176+
177+
Trong sơ đồ này, bạn có thể thấy file workflow vừa tạo và cách các thành phần GitHub Actions được tổ chức theo thứ bậc. Mỗi bước thực thi một action hoặc script shell riêng. Các bước 1 và 2 chạy action, còn các bước 3 và 4 chạy script shell. Để tìm thêm action được xây dựng sẵn cho workflow, xem [AUTOTITLE](/actions/learn-github-actions/finding-and-customizing-actions).
178+
179+
![Sơ đồ hiển thị trigger, runner, và job của workflow ví dụ. Job gồm 4 bước.](/assets/images/help/actions/overview-actions-event.png)
180+
181+
## Xem hoạt động lần chạy workflow
182+
183+
Khi workflow được kích hoạt, _lần chạy workflow_ thực thi workflow sẽ được tạo. Sau khi lần chạy workflow bắt đầu, bạn có thể xem biểu đồ trực quan về tiến trình chạy và xem hoạt động của từng bước trên GitHub.
184+
185+
{% data reusables.repositories.navigate-to-repo %}
186+
1. Dưới tên repository, nhấp **Actions**.
187+
188+
![Ảnh chụp màn hình các tab của repository "github/docs". Tab "Actions" được tô sáng bằng viền màu cam.](/assets/images/help/repository/actions-tab-global-nav-update.png)
189+
190+
1. Trong thanh bên trái, nhấp workflow bạn muốn xem.
191+
192+
![Ảnh chụp màn hình thanh bên trái trong tab "Actions". Workflow "learn-github-actions" được tô sáng bằng viền màu cam đậm.](/assets/images/help/actions/learn-github-actions-workflow.png)
193+
194+
1. Trong "Workflow runs" (Các lần chạy workflow), nhấp tên lần chạy bạn muốn xem.
195+
196+
1. Trong "Jobs", nhấp job `check-bats-version`.
197+
198+
1. Nhật ký hiển thị cách từng step được xử lý. Nhấp vào bất kỳ step nào để mở rộng xem chi tiết.
199+
200+
![Ảnh chụp màn hình kết quả từ workflow ví dụ.](/assets/images/help/actions/learn-github-actions-workflow-run-revised.png)
201+
202+
## Các bước tiếp theo
203+
204+
Để tiếp tục học GitHub Actions, xem [AUTOTITLE](/actions/learn-github-actions/finding-and-customizing-actions).

0 commit comments

Comments
 (0)