Menavigasi daftar flag command line Bazel yang luas bisa menjadi tantangan. Halaman ini berfokus pada flag yang paling penting yang perlu Anda ketahui.
Opsi umum yang berguna
Flag berikut dimaksudkan untuk ditetapkan secara eksplisit di command line.
Bendera | Deskripsi |
---|---|
|
Anda dapat mengatur flag dalam file .bazelrc ke dalam konfigurasi,
seperti flag untuk proses debug atau build rilis. Grup konfigurasi tambahan dapat
dipilih dengan --config=<group> .
|
|
Bazel harus mencoba sebisa mungkin untuk melanjutkan eksekusi build dan pengujian. Secara default, Bazel gagal dengan cepat. |
|
Saat menggunakan eksekusi atau penyimpanan dalam cache jarak jauh (baik disk maupun jarak jauh), Anda dapat memberi sinyal kepada
Bazel bahwa Anda
ingin mendownload semua artefak build (perantara) sebagai berikut:
--remote_download_outputs=all |
|
Menambahkan info build (pengguna, stempel waktu) ke biner. |
Menemukan Masalah Build & Pengujian
Flag berikut dapat membantu Anda lebih memahami error build atau pengujian Bazel.
Bendera | Deskripsi |
---|---|
|
Menampilkan flag yang ditetapkan secara implisit melalui file .bazelrc yang ditentukan pengguna, didefinisikan mesin, atau ditentukan project. |
|
Secara default, Bazel mencoba mencegah spam log dan hanya mencetak peringatan compiler
dan output debug Starlark untuk paket dan subpaket yang diminta di
command line. Untuk menonaktifkan semua pemfilteran, tetapkan
--auto_output_filter=none .
|
|
Memungkinkan Anda melihat perincian error sandboxing. Untuk mengetahui detail tentang alasan Bazel menempatkan build dalam sandbox secara default dan apa yang ditempatkan dalam sandbox, lihat dokumentasi sandboxing kami. |
|
Menampilkan daftar komprehensif setiap perintah yang dijalankan Bazel selama build, terlepas dari apakah perintah tersebut berhasil atau gagal |
Startup
Bendera | Deskripsi |
---|---|
|
Anda dapat menentukan opsi Bazel default dalam file .bazelrc. Jika
ada beberapa file .bazelrc, Anda dapat memilih file
.bazelrc yang digunakan dengan menambahkan --bazelrc=<path to
the .bazelrc file> .
|
|
Membatasi jumlah RAM yang digunakan server Bazel.
Misalnya, kode berikut membatasi ukuran heap Bazel menjadi 3GB:
--host_jvm_args=-Xmx3g |
|
Mengontrol hierarki output Bazel. Bazel tidak menyimpan output build, termasuk log, dalam hierarki sumber itu sendiri. Sebagai gantinya, ia menggunakan hierarki output yang berbeda untuk tujuan ini. |
Pengujian Bazel
Flag berikut terkait dengan pengujian Bazel
Bendera | Deskripsi |
---|---|
|
Menyebabkan pengujian Java menunggu koneksi debugger sebelum dijalankan. |
|
Frekuensi untuk menjalankan pengujian. Misalnya, untuk menjalankan pengujian sebanyak N kali, tambahkan
--runs_per_test=N . Hal ini dapat berguna untuk men-debug
pengujian yang tidak stabil dan melihat apakah perbaikan menyebabkan pengujian lulus secara konsisten.
|
|
Menentukan mode output. Secara default, Bazel merekam output pengujian dalam
file log lokal. Saat melakukan iterasi pada pengujian yang rusak, Anda biasanya ingin menggunakan
--test_output=streamed untuk melihat output pengujian secara
real time.
|
Operasi Bazel
Flag berikut terkait dengan operasi Bazel.
Bendera | Deskripsi |
---|---|
|
Mengubah cara file yang dapat dieksekusi dipanggil. Misalnya, --run_under="strace -c"
biasanya digunakan untuk proses debug.
|
Opsi bazelrc khusus pengguna
Flag berikut terkait dengan opsi .bazelrc khusus pengguna.
Bendera | Deskripsi |
---|---|
|
Jalur ke direktori tempat Bazel dapat membaca dan menulis tindakan serta output tindakan.
Jika tidak ada, direktori akan dibuat.
Anda dapat membagikan artefak build di antara beberapa cabang atau ruang kerja dan mempercepat
build Bazel dengan menambahkan
--disk_cache=<path> ke perintah Anda.
|
|
Jumlah tugas serentak yang akan dijalankan. Hal ini biasanya hanya diperlukan saat menggunakan eksekusi jarak jauh, yaitu saat cluster build jarak jauh menjalankan lebih banyak tugas daripada core yang Anda miliki secara lokal. |
|
Membatasi jumlah CPU atau RAM yang digunakan oleh tindakan yang berjalan secara lokal. |
|
Memungkinkan sandbox membuat direktori sandbox-nya di bawah jalur ini. Secara default, Bazel mengeksekusi tindakan lokal dengan sandbox yang menambahkan beberapa overhead ke build. |
Opsi bazelrc khusus project
Flag berikut terkait dengan opsi .bazelrc khusus project.
Bendera | Deskripsi |
---|---|
|
Coba ulang setiap pengujian hingga jumlah yang ditentukan jika terjadi kegagalan pengujian. Hal ini sangat berguna pada Continuous Integration. Pengujian yang memerlukan lebih dari satu upaya untuk lulus ditandai sebagai FLAKY dalam ringkasan pengujian. |
|
URI endpoint penyimpanan dalam cache. Menyiapkan penyimpanan dalam cache jarak jauh dapat menjadi cara yang bagus untuk mempercepat build Bazel. Cache ini dapat digabungkan dengan cache disk lokal. |
|
Memaksa output build jarak jauh yang jalurnya cocok dengan pola ini untuk didownload,
terlepas dari setelan --remote_download_outputs . Beberapa
pola dapat ditentukan dengan mengulangi flag ini.
|
|
HOST atau HOST:PORT dari endpoint eksekusi jarak jauh. Teruskan ini jika Anda menggunakan
layanan eksekusi jarak jauh. Anda sering kali perlu Menambahkan
--remote_instance_name=<name> .
|
|
Nilai yang akan diteruskan sebagai instance_name di API eksekusi jarak jauh.
|
|
Jika ditentukan, stempel waktu akan ditambahkan ke setiap pesan yang dihasilkan oleh Bazel yang menentukan waktu pesan ditampilkan. Hal ini berguna di sistem CI untuk cepat memahami langkah yang diperlukan. |
|
Meskipun dengan eksekusi jarak jauh, menjalankan beberapa tindakan build secara lokal mungkin lebih cepat. Hal ini bergantung pada faktor seperti kapasitas cluster build, kecepatan jaringan, dan keterlambatan jaringan. |