Hướng dẫn này chỉ cho bạn cách tạo quy trình công việc tích hợp liên tục [CI] để xây dựng và kiểm tra Node. mã js. Nếu kiểm tra CI của bạn vượt qua, bạn có thể muốn triển khai mã của mình hoặc xuất bản gói
điều kiện tiên quyết
Chúng tôi khuyên bạn nên có hiểu biết cơ bản về Node. js, YAML, tùy chọn cấu hình quy trình làm việc và cách tạo tệp quy trình làm việc. Để biết thêm thông tin, xem
Sử dụng nút. quy trình làm việc khởi động js
GitHub cung cấp một Nút. js sẽ hoạt động với hầu hết các Node. dự án js. Hướng dẫn này bao gồm các ví dụ về npm và Yarn mà bạn có thể sử dụng để tùy chỉnh quy trình làm việc của người mới bắt đầu. Để biết thêm thông tin, hãy xem Nút. quy trình làm việc khởi động js
Để bắt đầu nhanh chóng, hãy thêm quy trình công việc bắt đầu vào thư mục
runs-on: macos-latest
0 của kho lưu trữ của bạn. Quy trình công việc hiển thị bên dưới giả định rằng nhánh mặc định cho kho lưu trữ của bạn là runs-on: macos-latest
1Chạy trên một hệ điều hành khác
Quy trình khởi động định cấu hình các công việc để chạy trên Linux, sử dụng trình chạy
runs-on: macos-latest
2 được lưu trữ trên GitHub. Bạn có thể thay đổi phím runs-on: macos-latest
3 để chạy công việc của mình trên một hệ điều hành khác. Ví dụ: bạn có thể sử dụng trình chạy Windows được lưu trữ trên GitHubruns-on: windows-latest
Hoặc, bạn có thể chạy trên trình chạy macOS được lưu trữ trên GitHub
runs-on: macos-latest
Bạn cũng có thể chạy các công việc trong bộ chứa Docker hoặc bạn có thể cung cấp một trình chạy tự lưu trữ chạy trên cơ sở hạ tầng của riêng bạn. Để biết thêm thông tin, hãy xem "Cú pháp quy trình làm việc cho Tác vụ GitHub. "
Chỉ định nút. phiên bản js
Cách dễ nhất để chỉ định một Nút. js bằng cách sử dụng tác vụ
runs-on: macos-latest
4 do GitHub cung cấp. Để biết thêm thông tin, xem, runs-on: macos-latest
4Hành động
runs-on: macos-latest
4 chiếm một Nút. js làm đầu vào và định cấu hình phiên bản đó trên trình chạy. Hành động runs-on: macos-latest
4 tìm một phiên bản cụ thể của Nút. js khỏi bộ đệm công cụ trên mỗi trình chạy và thêm các tệp nhị phân cần thiết vào runs-on: macos-latest
1, tệp này vẫn tồn tại trong phần còn lại của công việc. Sử dụng hành động runs-on: macos-latest
4 là cách sử dụng Node được khuyến nghị. js với GitHub Actions vì nó đảm bảo hành vi nhất quán giữa các trình chạy khác nhau và các phiên bản Node khác nhau. js. Nếu bạn đang sử dụng một trình chạy tự lưu trữ, bạn phải cài đặt Node. js và thêm nó vào runs-on: macos-latest
1Quy trình làm việc ban đầu bao gồm một chiến lược ma trận giúp xây dựng và kiểm tra mã của bạn với bốn Nút. phiên bản js. 10. x, 12. x, 14. x và 15. x. 'x' là một ký tự đại diện khớp với bản phát hành bản vá lỗi và phụ mới nhất có sẵn cho một phiên bản. Mỗi phiên bản của Nút. js được chỉ định trong mảng
runs-on: macos-latest
4 tạo một công việc chạy các bước tương tựMỗi công việc có thể truy cập giá trị được xác định trong mảng ma trận
runs-on: macos-latest
4 bằng ngữ cảnh runs-on: macos-latest
6. Hành động runs-on: macos-latest
4 sử dụng ngữ cảnh làm đầu vào runs-on: macos-latest
4. Hành động runs-on: macos-latest
4 định cấu hình từng công việc với một Nút khác. js trước khi xây dựng và thử nghiệm mã. Để biết thêm thông tin về các chiến lược và ngữ cảnh ma trận, hãy xem "Cú pháp quy trình làm việc cho các tác vụ GitHub" và "Bối cảnh. "Ngoài ra, bạn có thể xây dựng và thử nghiệm với Node chính xác. phiên bản js
Hoặc, bạn có thể xây dựng và thử nghiệm bằng một phiên bản Node duy nhất. js cũng vậy
Nếu bạn không chỉ định một Nút. js, GitHub sử dụng Node mặc định của môi trường. phiên bản js. Để biết thêm thông tin, hãy xem "Thông số kỹ thuật cho người chạy được lưu trữ trên GitHub"
cài đặt phụ thuộc
Người chạy được lưu trữ trên GitHub đã cài đặt trình quản lý phụ thuộc npm và Yarn. Bạn có thể sử dụng npm và Yarn để cài đặt các phần phụ thuộc trong quy trình làm việc của mình trước khi xây dựng và kiểm tra mã của mình. Các trình chạy được lưu trữ trên Windows và Linux trên GitHub cũng đã cài đặt Grunt, Gulp và Bower
Bạn cũng có thể lưu trữ các phần phụ thuộc để tăng tốc quy trình làm việc của mình. Để biết thêm thông tin, hãy xem phần "Phụ thuộc vào bộ nhớ đệm để tăng tốc quy trình làm việc. "
Ví dụ sử dụng npm
Ví dụ này cài đặt các phụ thuộc được xác định trong gói. tập tin json. Để biết thêm thông tin, xem
//registry.npmjs.org/:_authToken=${NODE_AUTH_TOKEN}
@octocat:registry=//registry.npmjs.org/
always-auth=true
0Sử dụng
//registry.npmjs.org/:_authToken=${NODE_AUTH_TOKEN}
@octocat:registry=//registry.npmjs.org/
always-auth=true
1 cài đặt các phiên bản trong gói-lock. json hoặc npm-shrinkwrap. json và ngăn cập nhật tệp khóa. Sử dụng //registry.npmjs.org/:_authToken=${NODE_AUTH_TOKEN}
@octocat:registry=//registry.npmjs.org/
always-auth=true
1 thường nhanh hơn chạy //registry.npmjs.org/:_authToken=${NODE_AUTH_TOKEN}
@octocat:registry=//registry.npmjs.org/
always-auth=true
0. Để biết thêm thông tin, hãy xem //registry.npmjs.org/:_authToken=${NODE_AUTH_TOKEN}
@octocat:registry=//registry.npmjs.org/
always-auth=true
1 và "Giới thiệu //registry.npmjs.org/:_authToken=${NODE_AUTH_TOKEN}
@octocat:registry=//registry.npmjs.org/
always-auth=true
1 để xây dựng nhanh hơn, đáng tin cậy hơn. "Ví dụ sử dụng Sợi
Ví dụ này cài đặt các phụ thuộc được xác định trong gói. tập tin json. Để biết thêm thông tin, xem
//registry.npmjs.org/:_authToken=${NODE_AUTH_TOKEN}
@octocat:registry=//registry.npmjs.org/
always-auth=true
6Ngoài ra, bạn có thể vượt qua
//registry.npmjs.org/:_authToken=${NODE_AUTH_TOKEN}
@octocat:registry=//registry.npmjs.org/
always-auth=true
7 để cài đặt các phiên bản trong tệp //registry.npmjs.org/:_authToken=${NODE_AUTH_TOKEN}
@octocat:registry=//registry.npmjs.org/
always-auth=true
8 và ngăn cập nhật tệp //registry.npmjs.org/:_authToken=${NODE_AUTH_TOKEN}
@octocat:registry=//registry.npmjs.org/
always-auth=true
8Ví dụ sử dụng sổ đăng ký riêng và tạo. tập tin npmrc
Bạn có thể sử dụng hành động
runs-on: macos-latest
4 để tạo địa phương. tệp npmrc trên trình chạy cấu hình sổ đăng ký và phạm vi mặc định. Hành động runs-on: macos-latest
4 cũng chấp nhận mã thông báo xác thực làm đầu vào, được sử dụng để truy cập các cơ quan đăng ký riêng tư hoặc xuất bản các gói nút. Để biết thêm thông tin, xem runs-on: macos-latest
4Để xác thực với sổ đăng ký riêng tư của bạn, bạn cần lưu trữ mã thông báo xác thực npm của mình dưới dạng bí mật. Ví dụ: tạo bí mật kho lưu trữ có tên là
runs-on: macos-latest
03. Để biết thêm thông tin, hãy xem "Tạo và sử dụng bí mật được mã hóa. "Trong ví dụ bên dưới,
runs-on: macos-latest
03 bí mật lưu trữ mã thông báo xác thực npm. Hành động runs-on: macos-latest
4 cấu hình. npmrc để đọc mã thông báo xác thực npm từ biến môi trường runs-on: macos-latest
06. Khi sử dụng hành động runs-on: macos-latest
4 để tạo một. npmrc, bạn phải đặt biến môi trường runs-on: macos-latest
06 với bí mật chứa mã thông báo xác thực npm của bạnTrước khi cài đặt các phụ thuộc, hãy sử dụng hành động
runs-on: macos-latest
4 để tạo. tập tin npmrc. Hành động có hai tham số đầu vào. Tham số runs-on: macos-latest
4 đặt Nút. js và tham số runs-on: macos-latest
11 đặt sổ đăng ký mặc định. Nếu sổ đăng ký gói của bạn sử dụng phạm vi, bạn phải sử dụng tham số runs-on: macos-latest
12. Để biết thêm thông tin, xem runs-on: macos-latest
13Ví dụ trên tạo ra một. tập tin npmrc với các nội dung sau
________số 8Ví dụ phụ thuộc vào bộ nhớ đệm
Bạn có thể lưu trữ và khôi phục các phụ thuộc bằng cách sử dụng tác vụ
runs-on: macos-latest
4Ví dụ sau cache các phụ thuộc cho npm
Ví dụ sau lưu trữ các phụ thuộc vào bộ đệm cho Sợi
Ví dụ sau lưu trữ các phụ thuộc vào bộ đệm cho pnpm [v6. 10+]
Nếu bạn có yêu cầu tùy chỉnh hoặc cần kiểm soát tốt hơn cho bộ nhớ đệm, bạn có thể sử dụng tác vụ
runs-on: macos-latest
15. Để biết thêm thông tin, hãy xem phần "Phụ thuộc vào bộ nhớ đệm để tăng tốc quy trình làm việc. "Xây dựng và thử nghiệm mã của bạn
Bạn có thể sử dụng cùng các lệnh mà bạn sử dụng cục bộ để xây dựng và kiểm tra mã của mình. Ví dụ: nếu bạn chạy
runs-on: macos-latest
16 để chạy các bước xây dựng được xác định trong gói của bạn. json và runs-on: macos-latest
17 để chạy bộ thử nghiệm của mình, bạn sẽ thêm các lệnh đó vào tệp quy trình làm việc của mìnhĐóng gói dữ liệu quy trình làm việc dưới dạng vật phẩm
Bạn có thể lưu các tạo phẩm từ các bước xây dựng và thử nghiệm của mình để xem sau khi hoàn thành công việc. Ví dụ: bạn có thể cần lưu tệp nhật ký, kết xuất lõi, kết quả kiểm tra hoặc ảnh chụp màn hình. Để biết thêm thông tin, hãy xem "Duy trì dữ liệu quy trình làm việc bằng cách sử dụng tạo phẩm. "
Xuất bản để đăng ký gói
Bạn có thể định cấu hình quy trình làm việc của mình để xuất bản Nút của bạn. js vào sổ đăng ký gói sau khi kiểm tra CI của bạn vượt qua. Để biết thêm thông tin về xuất bản lên gói npm và GitHub, hãy xem "Xuất bản nút. gói js. "