diff --git a/translations/vi-vn/README.md b/translations/vi-vn/README.md new file mode 100644 index 000000000000..7d9b75bde086 --- /dev/null +++ b/translations/vi-vn/README.md @@ -0,0 +1,51 @@ +# Bản dịch Tiếng Việt — GitHub Docs (vi-vn) + +Thư mục này chứa bản dịch tiếng Việt của tài liệu GitHub Docs. + +## Cấu trúc + +``` +translations/vi-vn/ +├── content/ ← Bản dịch Markdown của content/ (EN) +└── data/ ← Bản dịch data/ variables và reusables +``` + +## Trạng thái dịch + +- **Ngôn ngữ:** Tiếng Việt (Vietnamese) +- **Mã ngôn ngữ:** `vi` +- **Locale:** `vi-vn` +- **Endpoint:** `https://docs.github.com/vi` +- **Người khởi xướng:** [@Dennis-nham](https://github.com/Dennis-nham) · NLP Labs Vietnam +- **Tổ chức:** [@nlp-labs-vietnam](https://github.com/nlp-labs-vietnam) + +## Cách đóng góp + +1. Xem danh sách bài chưa dịch tại [GitHub Discussions](https://github.com/github/docs/discussions) +2. Nhận bài dịch: comment vào discussion tương ứng +3. Dịch file `.md` trong `content/` — giữ nguyên frontmatter, code block, và Liquid tags +4. Gửi PR vào repo dịch riêng (khi GitHub tạo private translation repo cho `vi-vn`) + +## Quy tắc dịch thuật + +| Thuật ngữ EN | Tiếng Việt chuẩn | +|---|---| +| repository | kho lưu trữ / repository | +| pull request | pull request (giữ nguyên) | +| branch | nhánh | +| commit | commit (giữ nguyên) | +| merge | hợp nhất | +| fork | fork (giữ nguyên) | +| issue | vấn đề / issue | +| workflow | quy trình làm việc | +| action | hành động / Action | +| release | phát hành | +| tag | thẻ | +| milestone | mốc quan trọng | +| collaborator | cộng tác viên | + +## Liên hệ + +- **Email:** enterprise@nlpgroup.vn +- **GitHub:** [@Dennis-nham](https://github.com/Dennis-nham) +- **Org:** [@nlp-labs-vietnam](https://github.com/nlp-labs-vietnam) diff --git a/translations/vi-vn/content/actions/get-started/quickstart.md b/translations/vi-vn/content/actions/get-started/quickstart.md new file mode 100644 index 000000000000..2199ba5c3f31 --- /dev/null +++ b/translations/vi-vn/content/actions/get-started/quickstart.md @@ -0,0 +1,135 @@ +--- +title: Bắt đầu nhanh với GitHub Actions +shortTitle: Bắt đầu nhanh +intro: 'Thử các tính năng cốt lõi của GitHub Actions trong vài phút.' +redirect_from: + - /actions/quickstart +versions: + fpt: '*' + ghes: '*' + ghec: '*' +type: quick_start +topics: + - Fundamentals +--- + +## Giới thiệu + +GitHub Actions là nền tảng tích hợp liên tục và phân phối liên tục (CI/CD) cho phép bạn tự động hóa quy trình build, kiểm thử và triển khai. Bạn có thể tạo workflow chạy kiểm thử mỗi khi push thay đổi vào repository, hoặc triển khai pull request đã được merge lên môi trường production. + +Hướng dẫn bắt đầu nhanh này hướng dẫn cách sử dụng giao diện người dùng của GitHub để thêm workflow minh họa các tính năng thiết yếu của GitHub Actions. + +Để bắt đầu với workflow đã được cấu hình sẵn, hãy duyệt qua danh sách mẫu trong repository [actions/starter-workflows](https://github.com/actions/starter-workflows). Để biết thêm thông tin, xem [Sử dụng mẫu workflow](/vi/actions/how-tos/write-workflows/use-workflow-templates). + +Để có cái nhìn tổng quan về workflow của GitHub Actions, xem [Workflows](/vi/actions/concepts/workflows-and-actions/workflows). Nếu bạn muốn tìm hiểu về các thành phần tạo nên GitHub Actions, xem [Hiểu về GitHub Actions](/vi/actions/get-started/understand-github-actions). + +## Sử dụng mẫu workflow + +GitHub cung cấp các mẫu workflow được cấu hình sẵn mà bạn có thể dùng ngay hoặc tùy chỉnh để tạo workflow riêng. GitHub phân tích code của bạn và hiển thị các mẫu workflow có thể hữu ích cho repository của bạn. Ví dụ: nếu repository chứa code Node.js, bạn sẽ thấy gợi ý cho các dự án Node.js. + +Các mẫu workflow này được thiết kế để giúp bạn bắt đầu nhanh chóng, cung cấp nhiều cấu hình khác nhau như: + +* CI: [Workflow tích hợp liên tục](https://github.com/actions/starter-workflows/tree/main/ci) +* Deployments: [Workflow triển khai](https://github.com/actions/starter-workflows/tree/main/deployments) +* Automation: [Tự động hóa workflow](https://github.com/actions/starter-workflows/tree/main/automation) +* Code Scanning: [Workflow quét code](https://github.com/actions/starter-workflows/tree/main/code-scanning) +* Pages: [Workflow cho Pages](https://github.com/actions/starter-workflows/tree/main/pages) + +Hãy dùng các workflow này làm điểm khởi đầu để xây dựng workflow tùy chỉnh của bạn, hoặc dùng ngay như hiện tại. Bạn có thể xem toàn bộ danh sách mẫu workflow trong repository [actions/starter-workflows](https://github.com/actions/starter-workflows). + +## Điều kiện tiên quyết + +Hướng dẫn này giả định rằng: + +* Bạn có ít nhất kiến thức cơ bản về cách sử dụng GitHub. Nếu chưa có, hãy đọc một số bài viết trong tài liệu về repository và pull request trước. Ví dụ: xem [Bắt đầu nhanh với repository](/vi/repositories/creating-and-managing-repositories/quickstart-for-repositories), [Nhánh](/vi/pull-requests/reference/branches), và [Pull request](/vi/pull-requests/reference/pull-requests). +* Bạn có một repository trên GitHub nơi bạn có thể thêm file. +* Bạn có quyền truy cập vào GitHub Actions. + + > [!NOTE] Nếu tab **Actions** không hiển thị dưới tên repository của bạn trên GitHub, có thể là vì Actions đã bị tắt cho repository đó. Để biết thêm thông tin, xem [Quản lý cài đặt GitHub Actions cho repository](/vi/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository). + +## Tạo workflow đầu tiên của bạn + +1. Trong repository trên GitHub, tạo file workflow có tên `github-actions-demo.yml` trong thư mục `.github/workflows`. Để thực hiện: + * Nếu thư mục `.github/workflows` đã tồn tại, điều hướng đến thư mục đó trên GitHub, nhấp **Add file** (Thêm file), sau đó nhấp **Create new file** (Tạo file mới), và đặt tên file là `github-actions-demo.yml`. + + * Nếu repository chưa có thư mục `.github/workflows`, vào trang chính của repository trên GitHub, nhấp **Add file**, sau đó nhấp **Create new file**, và đặt tên file là `.github/workflows/github-actions-demo.yml`. Thao tác này tạo thư mục `.github` và `workflows` cùng với file `github-actions-demo.yml` trong một bước duy nhất. + + > [!NOTE] + > Để GitHub phát hiện bất kỳ workflow GitHub Actions nào trong repository, bạn phải lưu file workflow vào thư mục có tên `.github/workflows`. + > + > Bạn có thể đặt tên file workflow tùy ý, nhưng phải dùng `.yml` hoặc `.yaml` làm phần mở rộng. YAML là ngôn ngữ đánh dấu thường được dùng cho các file cấu hình. + +2. Sao chép nội dung YAML sau vào file `github-actions-demo.yml`: + + ```yaml copy + name: GitHub Actions Demo + run-name: ${{ github.actor }} is testing out GitHub Actions 🚀 + on: [push] + jobs: + Explore-GitHub-Actions: + runs-on: ubuntu-latest + steps: + - run: echo "🎉 The job was automatically triggered by a ${{ github.event_name }} event." + - run: echo "🐧 This job is now running on a ${{ runner.os }} server hosted by GitHub!" + - run: echo "🔎 The name of your branch is ${{ github.ref }} and your repository is ${{ github.repository }}." + - name: Check out repository code + uses: actions/checkout@v6 + - run: echo "💡 The ${{ github.repository }} repository has been cloned to the runner." + - run: echo "🖥️ The workflow is now ready to test your code on the runner." + - name: List files in the repository + run: | + ls ${{ github.workspace }} + - run: echo "🍏 This job's status is ${{ job.status }}." + ``` + + Ở bước này, bạn chưa cần hiểu chi tiết về workflow. Hiện tại, bạn chỉ cần sao chép và dán nội dung vào file. Sau khi hoàn thành hướng dẫn bắt đầu nhanh này, bạn có thể tìm hiểu về cú pháp của file workflow trong [Workflows](/vi/actions/concepts/workflows-and-actions/workflows), và để hiểu về các context của GitHub Actions như `${{ github.actor }}` và `${{ github.event_name }}`, xem [Tài liệu tham khảo Context](/vi/actions/reference/workflows-and-actions/contexts). + +3. Nhấp **Commit changes** (Lưu thay đổi). + +4. Trong hộp thoại "Propose changes" (Đề xuất thay đổi), chọn tùy chọn commit trực tiếp vào nhánh mặc định hoặc tạo nhánh mới và bắt đầu pull request. Sau đó nhấp **Commit changes** hoặc **Propose changes**. + + ![Ảnh chụp màn hình hộp thoại "Propose changes" với các vùng được đề cập được tô sáng bằng viền màu cam.](/assets/images/help/repository/actions-quickstart-commit-new-file.png) + +Việc commit file workflow vào một nhánh trong repository sẽ kích hoạt sự kiện `push` và chạy workflow của bạn. + +Nếu bạn chọn tạo pull request, bạn có thể tiếp tục và tạo pull request, nhưng điều này không cần thiết cho mục đích của hướng dẫn bắt đầu nhanh này vì commit vẫn đã được thực hiện vào một nhánh và sẽ kích hoạt workflow mới. + +## Xem kết quả workflow của bạn + +1. Trên GitHub, điều hướng đến trang chính của repository. + +2. Dưới tên repository, nhấp **Actions** (Hành động). + + ![Ả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) + +3. Trong thanh bên trái, nhấp workflow bạn muốn hiển thị, trong ví dụ này là "GitHub Actions Demo." + + ![Ảnh chụp màn hình trang "Actions". Tên của workflow ví dụ "GitHub Actions Demo" được tô sáng bằng viền màu cam đậm.](/assets/images/help/repository/actions-quickstart-workflow-sidebar.png) + +4. Từ danh sách các lần chạy workflow, nhấp tên của lần chạy bạn muốn xem, trong ví dụ này là "USERNAME is testing out GitHub Actions." + +5. Trong thanh bên trái của trang workflow run, dưới phần **Jobs** (Công việc), nhấp job **Explore-GitHub-Actions**. + + ![Ảnh chụp màn hình trang "Workflow run". Trong thanh bên trái, job "Explore-GitHub-Actions" được tô sáng bằng viền màu cam đậm.](/assets/images/help/repository/actions-quickstart-job.png) + +6. Nhật ký hiển thị cách từng bước được xử lý. Mở rộng bất kỳ bước nào để xem chi tiết. + + ![Ảnh chụp màn hình các bước được chạy bởi workflow.](/assets/images/help/repository/actions-quickstart-logs.png) + + Ví dụ: bạn có thể thấy danh sách các file trong repository: + + ![Ảnh chụp màn hình bước "List files in the repository" được mở rộng để hiển thị đầu ra nhật ký. Đầu ra của bước được tô sáng bằng viền màu cam.](/assets/images/help/repository/actions-quickstart-log-detail.png) + +Workflow ví dụ bạn vừa thêm được kích hoạt mỗi khi code được push vào nhánh, và cho thấy cách GitHub Actions có thể hoạt động với nội dung trong repository của bạn. Để có hướng dẫn chuyên sâu, xem [Hiểu về GitHub Actions](/vi/actions/get-started/understand-github-actions). + +## Các bước tiếp theo + +GitHub Actions có thể giúp bạn tự động hóa gần như mọi khía cạnh của quy trình phát triển ứng dụng. Sẵn sàng bắt đầu chưa? Dưới đây là một số tài nguyên hữu ích để tiến xa hơn với GitHub Actions: + +* Để tạo workflow GitHub Actions, xem [Sử dụng mẫu workflow](/vi/actions/how-tos/write-workflows/use-workflow-templates). +* Để tạo workflow tích hợp liên tục (CI), xem [Build và kiểm thử code của bạn](/vi/actions/tutorials/build-and-test-code). +* Để build và xuất bản package, xem [Xuất bản package](/vi/actions/tutorials/publish-packages). +* Để triển khai dự án, xem [Triển khai lên nền tảng bên thứ ba](/vi/actions/how-tos/deploy/deploy-to-third-party-platforms). +* Để tự động hóa các nhiệm vụ và quy trình trên GitHub, xem [Quản lý công việc với GitHub Actions](/vi/actions/tutorials/manage-your-work). +* Để xem các ví dụ minh họa các tính năng phức tạp hơn của GitHub Actions, xem [Chọn những gì workflow của bạn thực hiện](/vi/actions/how-tos/write-workflows/choose-what-workflows-do). Các ví dụ chi tiết này giải thích cách kiểm thử code trên runner, truy cập GitHub CLI, và sử dụng các tính năng nâng cao như đồng thời và ma trận kiểm thử. +* Để chứng nhận năng lực của bạn trong việc tự động hóa workflow và tăng tốc phát triển với GitHub Actions, hãy lấy chứng chỉ GitHub Actions với GitHub Certifications. Để biết thêm thông tin, xem [Giới thiệu về GitHub Certifications](/vi/get-started/showcase-your-expertise-with-github-certifications/about-github-certifications). diff --git a/translations/vi-vn/content/actions/get-started/understand-github-actions.md b/translations/vi-vn/content/actions/get-started/understand-github-actions.md new file mode 100644 index 000000000000..db2e7a2caea9 --- /dev/null +++ b/translations/vi-vn/content/actions/get-started/understand-github-actions.md @@ -0,0 +1,204 @@ +--- +title: Hiểu về GitHub Actions +shortTitle: Hiểu về GitHub Actions +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.' +redirect_from: + - /github/automating-your-workflow-with-github-actions/core-concepts-for-github-actions + - /actions/automating-your-workflow-with-github-actions/core-concepts-for-github-actions + - /actions/getting-started-with-github-actions/core-concepts-for-github-actions + - /actions/learn-github-actions/introduction-to-github-actions + - /actions/learn-github-actions/understanding-github-actions +versions: + fpt: '*' + ghes: '*' + ghec: '*' +type: overview +topics: + - Fundamentals +--- + +## Tổng quan + +{% 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. + +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. + +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. + +## Các thành phần của GitHub Actions + +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. + +![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) + +### Workflow + +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. + +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. + +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). + +Để biết thêm về workflow, xem [AUTOTITLE](/actions/using-workflows). + +### Sự kiện (Events) + +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. + +Để 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). + +### Job + +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. + +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. + +Để biết thêm về job, xem [AUTOTITLE](/actions/using-jobs). + +### Action + +_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. + +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. + +{% data reusables.actions.internal-actions-summary %} + +Để biết thêm thông tin, xem [AUTOTITLE](/actions/creating-actions). + +### Runner + +{% 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). + +## Tạo workflow ví dụ + +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. + +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`. + +1. Trong repository, tạo thư mục `.github/workflows/` để lưu file workflow. +1. Trong thư mục `.github/workflows/`, tạo file mới tên `learn-github-actions.yml` và thêm code sau. + + ```yaml + name: learn-github-actions + run-name: ${{ github.actor }} is learning GitHub Actions + on: [push] + jobs: + check-bats-version: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version: '20' + - run: npm install -g bats + - run: bats -v + ``` + +1. Commit các thay đổi và push lên repository GitHub. + +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. + +Để 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). + +## Hiểu về file workflow + +Để 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: + +```yaml +name: learn-github-actions +``` + +_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. + +```yaml +run-name: ${{ github.actor }} is learning GitHub Actions +``` + +_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. + +```yaml +on: [push] +``` + +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). + +```yaml +jobs: +``` + +Nhóm tất cả job chạy trong workflow `learn-github-actions`. + +```yaml + check-bats-version: +``` + +Đị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. + +```yaml + runs-on: ubuntu-latest +``` + +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. + +```yaml + steps: +``` + +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. + +```yaml + - uses: actions/checkout@v4 +``` + +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. + +```yaml + - uses: actions/setup-node@v4 + with: + node-version: '20' +``` + +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`. + +```yaml + - run: npm install -g bats +``` + +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`. + +```yaml + - run: bats -v +``` + +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. + +### Trực quan hóa file workflow + +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). + +![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) + +## Xem hoạt động lần chạy workflow + +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. + +{% data reusables.repositories.navigate-to-repo %} +1. Dưới tên repository, nhấp **Actions**. + + ![Ả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) + +1. Trong thanh bên trái, nhấp workflow bạn muốn xem. + + ![Ả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) + +1. Trong "Workflow runs" (Các lần chạy workflow), nhấp tên lần chạy bạn muốn xem. + +1. Trong "Jobs", nhấp job `check-bats-version`. + +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. + + ![Ả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) + +## Các bước tiếp theo + +Để tiếp tục học GitHub Actions, xem [AUTOTITLE](/actions/learn-github-actions/finding-and-customizing-actions). diff --git a/translations/vi-vn/content/get-started/git-basics/set-up-git.md b/translations/vi-vn/content/get-started/git-basics/set-up-git.md new file mode 100644 index 000000000000..5b3cd6485f85 --- /dev/null +++ b/translations/vi-vn/content/get-started/git-basics/set-up-git.md @@ -0,0 +1,79 @@ +--- +title: Thiết lập Git +shortTitle: Thiết lập Git +redirect_from: + - /git-installation-redirect + - /linux-git-installation + - /linux-set-up-git + - /mac-git-installation + - /mac-set-up-git + - /set-up-git-redirect + - /win-git-installation + - /win-set-up-git + - /articles/set-up-git + - /github/getting-started-with-github/set-up-git + - /github/getting-started-with-github/quickstart/set-up-git + - /get-started/quickstart/set-up-git + - /get-started/getting-started-with-git/set-up-git +intro: 'Trọng tâm của {% data variables.product.prodname_dotcom %} là hệ thống kiểm soát phiên bản (VCS) mã nguồn mở có tên Git. Git chịu trách nhiệm cho mọi thứ liên quan đến {% data variables.product.prodname_dotcom %} xảy ra cục bộ trên máy tính của bạn.' +versions: + fpt: '*' + ghes: '*' + ghec: '*' +category: + - Set up Git +--- + +## Sử dụng Git + +Để dùng Git trên dòng lệnh, bạn cần tải về, cài đặt và cấu hình Git trên máy tính. Bạn cũng có thể cài đặt {% data variables.product.prodname_cli %} để sử dụng {% data variables.product.prodname_dotcom %} từ dòng lệnh. Để biết thêm thông tin, xem [AUTOTITLE](/github-cli/github-cli/about-github-cli). + +Nếu muốn làm việc với Git cục bộ nhưng không muốn dùng dòng lệnh, bạn có thể tải về và cài đặt ứng dụng [{% data variables.product.prodname_desktop %}]({% data variables.product.desktop_link %}). Để biết thêm thông tin, xem [AUTOTITLE](/desktop/overview/about-github-desktop). + +Nếu bạn không cần làm việc với file cục bộ, {% data variables.product.github %} cho phép hoàn thành nhiều thao tác liên quan đến Git trực tiếp trên trình duyệt, bao gồm: + +* [AUTOTITLE](/repositories/creating-and-managing-repositories/quickstart-for-repositories) +* [AUTOTITLE](/pull-requests/how-tos/work-with-forks/fork-a-repo) +* [Quản lý file](/repositories/working-with-files/managing-files) + +## Thiết lập Git + +1. [Tải về và cài đặt phiên bản Git mới nhất](https://git-scm.com/downloads). + + > [!NOTE] + > Hầu hết thiết bị Chrome OS từ năm 2020 trở đi hiện có môi trường Linux tích hợp sẵn, trong đó bao gồm Git. Để kích hoạt, mở Launcher, tìm kiếm Linux, và nhấp **Turn on** (Bật). + > + > Nếu bạn đang dùng thiết bị Chrome OS cũ hơn, cần dùng phương pháp khác: + > + > 1. Cài đặt trình giả lập terminal như Termux từ Google Play Store trên thiết bị Chrome OS. + > 1. Từ trình giả lập terminal vừa cài, cài đặt Git. Ví dụ: trong Termux, nhập `pkg install git` rồi gõ `y` khi được nhắc. + +1. [Đặt tên người dùng trong Git](/get-started/git-basics/setting-your-username-in-git). +1. [Đặt địa chỉ email commit trong Git](/account-and-profile/how-tos/email-preferences/setting-your-commit-email-address). + +## Xác thực với {% data variables.product.github %} từ Git + +Khi kết nối với repository trên {% data variables.product.github %} từ Git, bạn cần xác thực với {% data variables.product.github %} bằng HTTPS hoặc SSH. + +> [!NOTE] +> Bạn có thể xác thực với {% data variables.product.github %} bằng {% data variables.product.prodname_cli %}, cho cả HTTPS lẫn SSH. Để biết thêm thông tin, xem [`gh auth login`](https://cli.github.com/manual/gh_auth_login). + +### Kết nối qua HTTPS (khuyến nghị) + +Nếu clone bằng HTTPS, bạn có thể lưu cache thông tin xác thực {% data variables.product.prodname_dotcom %} trong Git bằng trình hỗ trợ credential. Để biết thêm thông tin, xem [AUTOTITLE](/get-started/git-basics/about-remote-repositories#cloning-with-https-urls) và [AUTOTITLE](/get-started/git-basics/caching-your-github-credentials-in-git). + +### Kết nối qua SSH + +Nếu clone bằng SSH, bạn phải tạo SSH key trên từng máy tính dùng để push hoặc pull từ {% data variables.product.github %}. Để biết thêm thông tin, xem [AUTOTITLE](/get-started/git-basics/about-remote-repositories#cloning-with-ssh-urls) và [AUTOTITLE](/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent). + +## Các bước tiếp theo + +Bây giờ bạn đã cài đặt xong Git và {% data variables.product.github %}. Bạn có thể chọn tạo repository để lưu trữ dự án. Lưu code trong repository cho phép bạn sao lưu công việc và chia sẻ với cả thế giới. + +* {% data reusables.getting-started.create-a-repository %} + +* {% data reusables.getting-started.fork-a-repository %} + +* {% data reusables.getting-started.being-social %} + +* {% data reusables.support.connect-in-the-forum-bootcamp %} diff --git a/translations/vi-vn/content/get-started/index.md b/translations/vi-vn/content/get-started/index.md new file mode 100644 index 000000000000..8b1f5afa1258 --- /dev/null +++ b/translations/vi-vn/content/get-started/index.md @@ -0,0 +1,19 @@ +--- +title: Bắt đầu với GitHub +shortTitle: Bắt đầu +intro: 'Tìm hiểu cách bắt đầu xây dựng, vận chuyển và duy trì phần mềm với {% data variables.product.prodname_dotcom %}.' +versions: + fpt: '*' + ghes: '*' + ghec: '*' +children: + - /start-your-journey + - /onboarding + - /git-basics + - /using-github + - /writing-on-github + - /exploring-projects-on-github + - /working-with-subversion-on-github + - /importing-your-projects-to-github + - /archiving-your-work-on-github +--- diff --git a/translations/vi-vn/content/index.md b/translations/vi-vn/content/index.md new file mode 100644 index 000000000000..18e7d126ac85 --- /dev/null +++ b/translations/vi-vn/content/index.md @@ -0,0 +1,30 @@ +--- +title: 'Tài liệu trợ giúp {% data variables.product.github %}' +featuredLinks: + gettingStarted: + - /get-started/git-basics/set-up-git + - /authentication/connecting-to-github-with-ssh + - /repositories/creating-and-managing-repositories + - /get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax + popular: + - /pull-requests/reference/pull-requests + - /authentication + - /copilot/how-tos/copilot-in-your-ide/copilot-for-common-tasks/get-ide-code-suggestions + - /get-started/git-basics/managing-remote-repositories + - /pages +redirect_from: + - /github +versions: + fpt: '*' + ghes: '*' + ghec: '*' +children: + - search + - get-started + - account-and-profile + - subscriptions-and-notifications + - authentication + - repositories + - admin + - billing +--- diff --git a/translations/vi-vn/content/repositories/creating-and-managing-repositories/quickstart-for-repositories.md b/translations/vi-vn/content/repositories/creating-and-managing-repositories/quickstart-for-repositories.md new file mode 100644 index 000000000000..ada30e87bf3d --- /dev/null +++ b/translations/vi-vn/content/repositories/creating-and-managing-repositories/quickstart-for-repositories.md @@ -0,0 +1,130 @@ +--- +title: Bắt đầu nhanh với repository +shortTitle: Bắt đầu nhanh với repository +redirect_from: + - /create-a-repo + - /articles/create-a-repo + - /github/getting-started-with-github/create-a-repo + - /github/getting-started-with-github/quickstart/create-a-repo + - /get-started/quickstart/create-a-repo +intro: Tìm hiểu cách tạo repository mới và thực hiện thay đổi đầu tiên trong 5 phút. +versions: + fpt: '*' + ghes: '*' + ghec: '*' +contentType: get-started +category: + - Create and set up a repository +--- + +## Tạo repository + +Repository trên {% data variables.product.github %} lưu trữ nhiều loại dự án khác nhau. Trong hướng dẫn này, bạn sẽ tạo một repository và thực hiện thay đổi đầu tiên. + +{% webui %} + +{% data reusables.repositories.create_new %} +1. Nhập tên ngắn gọn, dễ nhớ cho repository. Ví dụ: "hello-world". + + ![Ảnh chụp màn hình bước đầu tiên khi tạo repository. Trường "Repository name" chứa văn bản "hello-world" và được viền màu cam đậm.](/assets/images/help/repository/create-repository-name.png) +1. Tùy chọn, thêm mô tả cho repository. Ví dụ: "Repository đầu tiên của tôi trên {% data variables.product.github %}." +{% data reusables.repositories.choose-repo-visibility %} +{% data reusables.repositories.initialize-with-readme %} +{% data reusables.repositories.create-repo %} + +Chúc mừng! Bạn đã tạo thành công repository đầu tiên và khởi tạo nó với file _README_. + +{% endwebui %} + +{% cli %} + +{% data reusables.cli.cli-learn-more %} + +1. Trong dòng lệnh, điều hướng đến thư mục nơi bạn muốn tạo bản sao cục bộ của dự án mới. +1. Để tạo repository cho dự án, dùng lệnh con `gh repo create`. Khi được nhắc, chọn **Create a new repository on GitHub from scratch** và nhập tên dự án mới. Nếu muốn dự án thuộc về một tổ chức thay vì tài khoản cá nhân, hãy chỉ định tên tổ chức và tên dự án theo định dạng `ten-to-chuc/ten-du-an`. +1. Làm theo các lời nhắc tương tác. Để clone repository về máy cục bộ, xác nhận yes khi được hỏi có muốn clone thư mục dự án từ remote không. +1. Hoặc, để bỏ qua các lời nhắc, cung cấp tên repository và cờ visibility (`--public`, `--private`, hoặc `--internal`). Ví dụ: `gh repo create ten-du-an --public`. Để clone repository về máy cục bộ, truyền cờ `--clone`. Để biết thêm về các đối số có thể dùng, xem [hướng dẫn GitHub CLI](https://cli.github.com/manual/gh_repo_create). + +{% endcli %} + +## Thực hiện thay đổi đầu tiên + +{% webui %} + +[Commit](/get-started/learning-about-github/github-glossary#commit) giống như ảnh chụp nhanh toàn bộ các file trong dự án của bạn tại một thời điểm cụ thể. + +Khi tạo repository mới, bạn đã khởi tạo nó với file _README_. File _README_ là nơi tuyệt vời để mô tả chi tiết hơn về dự án, hoặc thêm tài liệu hướng dẫn như cách cài đặt hoặc sử dụng dự án. Nội dung file _README_ sẽ tự động hiển thị trên trang chính của repository. + +Hãy commit một thay đổi vào file README. + +1. Trong danh sách file của repository, chọn **README.md**. + + ![Ảnh chụp màn hình danh sách file trong repository. Tên file "README.md" được tô sáng bằng viền màu cam.](/assets/images/help/repository/create-commit-open-readme.png) +{% data reusables.repositories.edit-file-button %} +1. Trong hộp văn bản, nhập một số thông tin về bản thân. +{% data reusables.files.preview_change %} +1. Xem lại các thay đổi bạn đã thực hiện với file. Nếu chọn **Show diff**, bạn sẽ thấy nội dung mới được tô màu xanh lá. + + ![Ảnh chụp màn hình xem trước file. Ô "Show diff" được bật và các phần thêm vào file hiển thị với dòng màu xanh lá. Cả hai đều được viền màu cam.](/assets/images/help/repository/create-commit-review.png) +{% data reusables.files.write_commit_message %} +{% data reusables.files.choose_commit_branch %} +{% data reusables.files.propose_file_change %} + +{% endwebui %} + +{% cli %} + +Bây giờ bạn đã tạo dự án, hãy bắt đầu thực hiện thay đổi. + +File _README_ là nơi tuyệt vời để mô tả chi tiết hơn về dự án, hoặc thêm tài liệu như cách cài đặt hoặc sử dụng. Nội dung file _README_ sẽ tự động hiển thị trên trang chính của repository. Thực hiện các bước sau để thêm file _README_. + +1. Trong dòng lệnh, điều hướng đến thư mục gốc của dự án mới. (Thư mục này được tạo khi bạn chạy lệnh `gh repo create`.) +1. Tạo file _README_ với một số thông tin về dự án. + + ```shell + echo "thông tin về dự án này" >> README.md + ``` + +1. Nhập `git status`. Bạn sẽ thấy có file `README.md` chưa được theo dõi. + + ```shell + $ git status + + Untracked files: + (use "git add ..." to include in what will be committed) + README.md + + nothing added to commit but untracked files present (use "git add" to track) + ``` + +1. Stage và commit file. + + ```shell + git add README.md && git commit -m "Add README" + ``` + +1. Push các thay đổi lên nhánh. + + ```shell + git push --set-upstream origin HEAD + ``` + +{% endcli %} + +## Các bước tiếp theo + +Bây giờ bạn đã tạo một repository bao gồm file _README_ và thực hiện commit đầu tiên trên {% data variables.product.prodname_dotcom %}. + +{% webui %} + +* Bạn có thể clone repository trên {% data variables.product.prodname_dotcom %} để tạo bản sao cục bộ trên máy tính. Từ repository cục bộ, bạn có thể commit và tạo pull request để cập nhật các thay đổi lên upstream repository. Để biết thêm thông tin, xem [AUTOTITLE](/repositories/creating-and-managing-repositories/cloning-a-repository) và [AUTOTITLE](/get-started/git-basics/set-up-git). + +{% endwebui %} + +* Bảo mật repository của bạn bằng các tính năng bảo mật có sẵn trên {% data variables.product.github %}. Để biết thêm thông tin, xem [AUTOTITLE](/code-security/getting-started/quickstart-for-securing-your-repository). + +* Bạn có thể tìm các dự án và repository thú vị trên {% data variables.product.prodname_dotcom %} và thực hiện thay đổi bằng cách tạo fork của repository. {% data reusables.getting-started.fork-a-repository %} + +* {% data reusables.getting-started.being-social %} + +* {% data reusables.support.connect-in-the-forum-bootcamp %} diff --git a/translations/vi-vn/data/ui.yml b/translations/vi-vn/data/ui.yml new file mode 100644 index 000000000000..3424a364af23 --- /dev/null +++ b/translations/vi-vn/data/ui.yml @@ -0,0 +1,37 @@ +# Chuỗi giao diện người dùng — Tiếng Việt (vi-vn) +# Được tạo bởi: @Dennis-nham · NLP Labs Vietnam +# Ngày: 2025 + +header: + github_docs: "Tài liệu GitHub" + search_placeholder: "Tìm kiếm tài liệu..." + language_picker: "Ngôn ngữ" + +footer: + terms: "Điều khoản" + privacy: "Bảo mật" + security: "Bảo mật thông tin" + status: "Trạng thái" + docs: "Tài liệu" + contact: "Liên hệ" + manage_cookies: "Quản lý cookie" + do_not_share: "Không chia sẻ thông tin cá nhân" + +article: + contents: "Mục lục" + edit_on_github: "Chỉnh sửa trên GitHub" + scroll_to_top: "Lên đầu trang" + feedback_positive: "Bài viết có hữu ích không?" + feedback_yes: "Có" + feedback_no: "Không" + was_this_helpful: "Bài viết này có hữu ích không?" + +search: + label: "Tìm kiếm tài liệu" + results: "Kết quả tìm kiếm" + no_results: "Không tìm thấy kết quả cho" + search_again: "Tìm kiếm lại" + +errors: + page_not_found: "Không tìm thấy trang" + try_search: "Thử tìm kiếm để tìm nội dung bạn cần."