รายงานปัญหา ดูแหล่งที่มา Nightly · 8.3 · 8.2 · 8.1 · 8.0 · 7.6
การไปยังส่วนต่างๆ ของรายการแฟล็กบรรทัดคำสั่งที่ครอบคลุมของ Bazel อาจเป็นเรื่องท้าทาย หน้านี้จะเน้นที่ฟีเจอร์ที่สำคัญที่สุดที่คุณควรรู้
ตัวเลือกทั่วไปที่มีประโยชน์
โดยตั้งค่าสถานะต่อไปนี้อย่างชัดเจนในบรรทัดคำสั่ง
ธง | คำอธิบาย |
---|---|
|
คุณจัดระเบียบ Flag ในไฟล์ .bazelrc เป็นการกำหนดค่าได้
เช่น การกำหนดค่าสำหรับการแก้ไขข้อบกพร่องหรือการสร้างรุ่น เลือกกลุ่มการกำหนดค่าเพิ่มเติมได้โดยใช้ --config=<group>
|
|
Bazel ควรพยายามดำเนินการสร้างและทดสอบต่อไปให้ได้มากที่สุด โดยค่าเริ่มต้น Bazel จะล้มเหลวอย่างรวดเร็ว |
|
เมื่อใช้การดำเนินการระยะไกลหรือการแคช (ทั้งในดิสก์และระยะไกล) คุณสามารถส่งสัญญาณให้ Bazel ทราบว่าคุณต้องการดาวน์โหลดอาร์ติแฟกต์การบิลด์ทั้งหมด (ระดับกลาง) ได้ดังนี้
--remote_download_outputs=all |
|
เพิ่มข้อมูลการสร้าง (ผู้ใช้, การประทับเวลา) ลงในไบนารี |
ค้นพบปัญหาในการสร้างและทดสอบ
แฟล็กต่อไปนี้จะช่วยให้คุณเข้าใจข้อผิดพลาดในการสร้างหรือทดสอบ Bazel ได้ดียิ่งขึ้น
ธง | คำอธิบาย |
---|---|
|
แสดงว่ามีการตั้งค่าสถานะใดโดยนัยผ่านไฟล์ .bazelrc ที่ผู้ใช้กำหนด เครื่องกำหนด หรือโปรเจ็กต์กำหนด |
|
โดยค่าเริ่มต้น Bazel จะพยายามป้องกันไม่ให้บันทึกสแปมและจะพิมพ์เฉพาะคำเตือนของคอมไพเลอร์
และเอาต์พุตการแก้ไขข้อบกพร่องของ Starlark สำหรับแพ็กเกจและแพ็กเกจย่อยที่ขอใน
บรรทัดคำสั่ง หากต้องการปิดใช้การกรองทั้งหมด ให้ตั้งค่า
--auto_output_filter=none
|
|
ช่วยให้คุณเจาะลึกข้อผิดพลาดของแซนด์บ็อกซ์ได้ ดูรายละเอียดเกี่ยวกับสาเหตุที่ Bazel แซนด์บ็อกซ์ บิลด์โดยค่าเริ่มต้นและสิ่งที่ได้รับการแซนด์บ็อกซ์ได้ใน เอกสารประกอบการแซนด์บ็อกซ์ |
|
แสดงรายการคำสั่งทั้งหมดที่ Bazel เรียกใช้ในระหว่างการสร้าง ไม่ว่าจะสำเร็จหรือไม่ก็ตาม |
สตาร์ทอัพ
ธง | คำอธิบาย |
---|---|
|
คุณระบุตัวเลือก Bazel เริ่มต้นได้ในไฟล์ .bazelrc หากมีไฟล์ .bazelrc หลายไฟล์ คุณสามารถเลือกไฟล์ .bazelrc ที่จะใช้ได้โดยการเพิ่ม --bazelrc=<path to
the .bazelrc file>
|
|
จำกัดปริมาณ RAM ที่เซิร์ฟเวอร์ Bazel ใช้
ตัวอย่างเช่น คำสั่งต่อไปนี้จะจำกัดขนาดฮีปของ Bazel ไว้ที่ 3 GB
--host_jvm_args=-Xmx3g |
|
ควบคุมโครงสร้างเอาต์พุตของ Bazel Bazel จะไม่จัดเก็บเอาต์พุตการสร้าง รวมถึงบันทึก ไว้ในโครงสร้างแหล่งที่มาเอง แต่จะใช้โครงสร้างเอาต์พุตที่แตกต่างกันเพื่อวัตถุประสงค์นี้แทน |
การทดสอบ Bazel
โดยแฟล็กต่อไปนี้เกี่ยวข้องกับการทดสอบ Bazel
ธง | คำอธิบาย |
---|---|
|
ทำให้การทดสอบ Java รอการเชื่อมต่อโปรแกรมแก้ไขข้อบกพร่องก่อนที่จะดำเนินการ |
|
จำนวนครั้งที่จะเรียกใช้การทดสอบ เช่น หากต้องการเรียกใช้การทดสอบ N ครั้ง ให้เพิ่ม
--runs_per_test=N ซึ่งจะเป็นประโยชน์ในการแก้ไขข้อบกพร่องของ
การทดสอบที่ไม่เสถียร และดูว่าการแก้ไขทำให้การทดสอบผ่านอย่างสม่ำเสมอหรือไม่
|
|
ระบุโหมดเอาต์พุต โดยค่าเริ่มต้น Bazel จะบันทึกเอาต์พุตการทดสอบใน
ไฟล์บันทึกในเครื่อง เมื่อทำการทดสอบที่ใช้งานไม่ได้ซ้ำ คุณมักจะต้องการใช้
--test_output=streamed เพื่อดูเอาต์พุตการทดสอบแบบ
เรียลไทม์
|
Bazel run
แฟล็กต่อไปนี้เกี่ยวข้องกับการเรียกใช้ Bazel
ธง | คำอธิบาย |
---|---|
|
เปลี่ยนวิธีเรียกใช้ไฟล์ที่เรียกใช้งานได้ เช่น --run_under="strace -c" มักใช้สำหรับการแก้ไขข้อบกพร่อง
|
ตัวเลือก bazelrc เฉพาะผู้ใช้
แฟล็กต่อไปนี้เกี่ยวข้องกับตัวเลือก .bazelrc ที่เฉพาะเจาะจงของผู้ใช้
ธง | คำอธิบาย |
---|---|
|
เส้นทางไปยังไดเรกทอรีที่ Bazel อ่านและเขียนการดำเนินการและเอาต์พุตของการดำเนินการได้
หากไม่มีไดเรกทอรี ระบบจะสร้างไดเรกทอรีให้
คุณสามารถแชร์อาร์ติแฟกต์บิลด์ระหว่างสาขาหรือพื้นที่ทำงานหลายรายการ และเพิ่มความเร็ว
ในการบิลด์ Bazel ได้โดยการเพิ่ม
--disk_cache=<path> ลงในคำสั่ง
|
|
จำนวนงานที่จะเรียกใช้พร้อมกัน โดยปกติแล้ว คุณจะต้องทำเช่นนี้เมื่อใช้การดำเนินการจากระยะไกลที่คลัสเตอร์บิลด์ระยะไกล ดำเนินการมากกว่าจำนวนงานที่คุณมีในเครื่อง |
|
จำกัดปริมาณ CPU หรือ RAM ที่การดำเนินการที่ทำงานในเครื่องใช้ |
|
อนุญาตให้แซนด์บ็อกซ์สร้างไดเรกทอรีแซนด์บ็อกซ์ภายใต้เส้นทางนี้ โดยค่าเริ่มต้น Bazel จะดำเนินการในเครื่องแบบแซนด์บ็อกซ์ ซึ่งจะเพิ่มค่าใช้จ่ายบางอย่างในการสร้าง |
ตัวเลือก bazelrc เฉพาะโปรเจ็กต์
แฟล็กต่อไปนี้เกี่ยวข้องกับตัวเลือก .bazelrc ของโปรเจ็กต์
ธง | คำอธิบาย |
---|---|
|
ลองทำการทดสอบแต่ละครั้งซ้ำได้สูงสุดตามจำนวนครั้งที่ระบุในกรณีที่ การทดสอบล้มเหลว ซึ่งจะมีประโยชน์อย่างยิ่งในการผสานรวมอย่างต่อเนื่อง การทดสอบที่ต้องลองมากกว่า 1 ครั้งจึงจะผ่านจะมีการทำเครื่องหมายเป็นไม่น่าเชื่อถือใน สรุปการทดสอบ |
|
URI ของปลายทางการแคช การตั้งค่าแคชระยะไกลเป็นวิธีที่ยอดเยี่ยมในการ เร่งการสร้าง Bazel โดยใช้ร่วมกับแคชดิสก์ในเครื่องได้ |
|
บังคับให้ดาวน์โหลดเอาต์พุตการบิลด์ระยะไกลที่มีเส้นทางตรงกับรูปแบบนี้
โดยไม่คำนึงถึงการตั้งค่า --remote_download_outputs คุณระบุรูปแบบได้หลายรูปแบบโดยใช้แฟล็กนี้ซ้ำ
|
|
HOST หรือ HOST:PORT ของปลายทางการดำเนินการจากระยะไกล ส่งผ่านตัวเลือกนี้หากคุณใช้
บริการการดำเนินการจากระยะไกล คุณมักจะต้องเพิ่ม
--remote_instance_name=<name>
|
|
ค่าที่จะส่งเป็น instance_name ใน API การดำเนินการจากระยะไกล
|
|
หากระบุไว้ ระบบจะเพิ่มการประทับเวลาในแต่ละข้อความที่ Bazel สร้างขึ้น โดยจะระบุ เวลาที่ข้อความแสดง ซึ่งมีประโยชน์ในระบบ CI เพื่อให้เข้าใจได้อย่างรวดเร็วว่าขั้นตอนใดใช้เวลานานเท่าใด |
|
แม้จะมีการดำเนินการจากระยะไกล แต่การเรียกใช้การดำเนินการบิลด์บางอย่างในเครื่องอาจเร็วกว่า ซึ่งขึ้นอยู่กับปัจจัยต่างๆ เช่น ความจุของคลัสเตอร์บิลด์ ความเร็วของเครือข่าย และ ความล่าช้าของเครือข่าย |