Việc điều hướng danh sách cờ dòng lệnh mở rộng của Bazel có thể là một thử thách. Trang này tập trung vào những cờ quan trọng nhất mà bạn cần biết.
Các lựa chọn chung hữu ích
Các cờ sau đây được dùng để đặt một cách rõ ràng trên dòng lệnh.
| Cờ | Mô tả |
|---|---|
|
Bạn có thể sắp xếp các cờ trong tệp .bazelrc thành các cấu hình,
chẳng hạn như cấu hình để gỡ lỗi hoặc bản phát hành. Bạn có thể chọn các nhóm cấu hình bổ sung bằng --config=<group>.
|
|
Bazel nên cố gắng tiếp tục thực thi bản dựng và kiểm thử nhiều nhất có thể. Theo mặc định, Bazel sẽ nhanh chóng báo lỗi. |
|
Khi sử dụng tính năng thực thi hoặc lưu vào bộ nhớ đệm từ xa (cả đĩa và từ xa), bạn có thể báo hiệu cho
Bazel rằng bạn
muốn tải tất cả các cấu phần phần mềm bản dựng (trung gian) xuống như sau:
--remote_download_outputs=all |
|
Thêm thông tin bản dựng (người dùng, dấu thời gian) vào tệp nhị phân. |
Khám phá các vấn đề về bản dựng và kiểm thử
Các cờ sau đây có thể giúp bạn hiểu rõ hơn về lỗi bản dựng hoặc lỗi kiểm thử của Bazel.
| Cờ | Mô tả |
|---|---|
|
Cho biết những cờ được đặt ngầm thông qua các tệp .bazelrc do người dùng, máy hoặc dự án xác định. |
|
Theo mặc định, Bazel cố gắng ngăn chặn nội dung rác trong nhật ký và chỉ in cảnh báo của trình biên dịch
và đầu ra gỡ lỗi Starlark cho các gói và gói con được yêu cầu trên
dòng lệnh. Để tắt tất cả tính năng lọc, hãy đặt
--auto_output_filter=none.
|
|
Cho phép bạn đi sâu vào các lỗi hộp cát. Để biết thông tin chi tiết về lý do Bazel tạo hộp cát cho các bản dựng theo mặc định và những nội dung được tạo hộp cát, hãy xem tài liệu về hộp cát. |
|
Hiển thị danh sách đầy đủ của mọi lệnh mà Bazel chạy trong quá trình bản dựng, bất kể lệnh đó thành công hay không |
Khởi động
| Cờ | Mô tả |
|---|---|
|
Bạn có thể chỉ định các lựa chọn mặc định của Bazel trong các tệp .bazelrc. Nếu
có nhiều tệp .bazelrc, bạn có thể chọn tệp
.bazelrc nào được sử dụng bằng cách thêm --bazelrc=<path to
the .bazelrc file>.
|
|
Giới hạn dung lượng RAM mà máy chủ Bazel sử dụng.
Ví dụ: lệnh sau đây giới hạn kích thước vùng nhớ khối xếp của Bazel ở mức 3 GB:
--host_jvm_args=-Xmx3g |
|
Kiểm soát cây đầu ra của Bazel. Bazel không lưu trữ dữ liệu đầu ra của bản dựng, bao gồm cả nhật ký, trong chính cây nguồn. Thay vào đó, Bazel sử dụng một cây đầu ra riêng biệt cho mục đích này. |
Kiểm thử Bazel
Các cờ sau đây có liên quan đến kiểm thử Bazel
| Cờ | Mô tả |
|---|---|
|
Yêu cầu các bài kiểm thử Java chờ kết nối trình gỡ lỗi trước khi được thực thi. |
|
Số lần chạy kiểm thử. Ví dụ: để chạy kiểm thử N lần, hãy thêm
--runs_per_test=N. Điều này có thể hữu ích để gỡ lỗi
các bài kiểm thử không ổn định và xem liệu bản sửa lỗi có khiến bài kiểm thử vượt qua một cách nhất quán hay không.
|
|
Chỉ định chế độ đầu ra. Theo mặc định, Bazel ghi lại đầu ra kiểm thử trong
các tệp nhật ký cục bộ. Khi lặp lại một bài kiểm thử bị lỗi, bạn thường muốn sử dụng
--test_output=streamed để xem đầu ra kiểm thử theo
thời gian thực.
|
Chạy Bazel
Các cờ sau đây có liên quan đến việc chạy Bazel.
| Cờ | Mô tả |
|---|---|
|
Thay đổi cách gọi các tệp thực thi. Ví dụ: --run_under="strace -c" thường được dùng để gỡ lỗi.
|
Các lựa chọn bazelrc dành riêng cho người dùng
Các cờ sau đây có liên quan đến các lựa chọn .bazelrc dành riêng cho người dùng.
| Cờ | Mô tả |
|---|---|
|
Đường dẫn đến một thư mục nơi Bazel có thể đọc và ghi các hành động và đầu ra của hành động.
Nếu thư mục không tồn tại, thì thư mục đó sẽ được tạo.
Bạn có thể chia sẻ các cấu phần phần mềm bản dựng giữa nhiều nhánh hoặc không gian làm việc và tăng tốc các bản dựng Bazel bằng cách thêm
--disk_cache=<path> vào lệnh.
|
|
Số lượng công việc đồng thời cần chạy. Thông thường, bạn chỉ cần thực hiện việc này khi sử dụng tính năng thực thi từ xa, trong đó một cụm bản dựng từ xa thực thi nhiều công việc hơn số lõi mà bạn có cục bộ. |
|
Giới hạn mức sử dụng CPU hoặc RAM của các hành động đang chạy cục bộ. |
|
Cho phép hộp cát tạo các thư mục hộp cát bên dưới đường dẫn này. Theo mặc định, Bazel thực thi các hành động cục bộ được tạo hộp cát, điều này làm tăng một số chi phí cho bản dựng. |
Các lựa chọn bazelrc dành riêng cho dự án
Các cờ sau đây có liên quan đến các lựa chọn .bazelrc dành riêng cho dự án.
| Cờ | Mô tả |
|---|---|
|
Thử lại từng bài kiểm thử tối đa số lần được chỉ định trong trường hợp có bất kỳ lỗi kiểm thử nào. Điều này đặc biệt hữu ích trong Tích hợp liên tục. Các bài kiểm thử yêu cầu nhiều lần thử mới vượt qua sẽ được đánh dấu là FLAKY trong bản tóm tắt kiểm thử. |
|
URI của một điểm cuối lưu vào bộ nhớ đệm. Việc thiết lập tính năng lưu vào bộ nhớ đệm từ xa có thể là một cách tuyệt vời để tăng tốc các bản dựng Bazel. Bạn có thể kết hợp tính năng này với bộ nhớ đệm đĩa cục bộ. |
|
Buộc tải các dữ liệu đầu ra của bản dựng từ xa có đường dẫn khớp với mẫu này xuống,
bất kể chế độ cài đặt --remote_download_outputs. Bạn có thể chỉ định nhiều mẫu bằng cách lặp lại cờ này.
|
|
HOST hoặc HOST:PORT của một điểm cuối thực thi từ xa. Truyền điểm cuối này nếu bạn đang sử dụng
dịch vụ thực thi từ xa. Bạn thường cần thêm
--remote_instance_name=<name>.
|
|
Giá trị cần truyền dưới dạng instance_name trong API thực thi từ xa.
|
|
Nếu được chỉ định, dấu thời gian sẽ được thêm vào mỗi thông báo do Bazel tạo, cho biết thời điểm thông báo được hiển thị. Điều này hữu ích trên các hệ thống CI để nhanh chóng hiểu được bước nào mất bao lâu. |
|
Ngay cả khi thực thi từ xa, việc chạy một số hành động bản dựng cục bộ có thể nhanh hơn. Điều này phụ thuộc vào các yếu tố như dung lượng của cụm bản dựng, tốc độ mạng và độ trễ mạng. |