Dengan integrasi Git Looker default, developer Looker melakukan commit perubahan ke cabang pengembangan mereka, lalu menggabungkan cabang pengembangan ke cabang produksi. Kemudian, saat Anda men-deploy ke lingkungan Looker, Looker akan menggunakan commit terbaru di cabang produksi. (Lihat halaman dokumentasi Menggunakan kontrol versi dan men-deploy untuk mengetahui alur kerja Git default dan opsi lainnya untuk penerapan Git lanjutan.)
Untuk penerapan Git lanjutan yang tidak ingin menggunakan commit terbaru di cabang produksi untuk lingkungan Looker, admin Looker dapat mengaktifkan mode deploy lanjutan. Jika diaktifkan, mode deploy lanjutan memungkinkan developer dengan izin deploy menentukan SHA atau tag commit yang berbeda untuk di-deploy ke lingkungan produksi Looker, bukan menggunakan commit terbaru di cabang produksi. Jika ingin men-deploy commit dari cabang lain, Anda dapat menggunakan mode deploy lanjutan webhook atau endpoint API.
Mode deploy lanjutan membantu mengonsolidasikan repositori dalam alur kerja developer multi-lingkungan, dengan setiap lingkungan mengarah ke versi codebase yang berbeda. Mode ini juga memberi satu atau beberapa developer atau administrator kontrol yang lebih besar atas perubahan yang di-deploy ke produksi.
Jika mode deploy lanjutan diaktifkan, Looker tidak akan meminta developer untuk men-deploy perubahan ke produksi. Sebagai gantinya, Looker akan meminta developer untuk menggabungkan perubahan ke cabang produksi. Dari sana, perubahan hanya dapat di-deploy dengan cara berikut:
- Menggunakan deployment manager
- Memicu webhook
- Menggunakan endpoint API
Mengaktifkan mode deploy lanjutan
Untuk mengaktifkan mode deploy lanjutan:

- Di Looker IDE, buka halaman Project Configuration dengan memilih ikon Settings dari menu ikon, lalu memilih tab Configuration.
- Di halaman Project Configuration, centang kotak di samping Enable Advanced Deploy Mode di bagian Deployment.
- Pilih tombol Save Project Configuration untuk menyimpan perubahan.
Kontrol versi dengan mode deploy lanjutan
Jika mode deploy lanjutan diaktifkan, men-deploy ke produksi dari Looker tidak lagi menjadi opsi bagi developer. Sebagai gantinya, saat developer melakukan commit, tombol Git akan meminta mereka untuk menggabungkan perubahan ke cabang utama, bukan meminta mereka untuk men-deploy ke produksi.
Perubahan di-deploy ke produksi menggunakan webhook, API, atau deployment manager.
Deployment manager
Untuk project yang mengaktifkan mode deploy lanjutan, developer Looker yang memiliki izin deploy dapat menggunakan deployment manager untuk men-deploy commit atau tag ke lingkungan produksi Looker.
Anda dapat mengakses deployment manager dengan memilih ikon Deploy dari menu ikon.

Deployment manager menampilkan semua commit dan tag yang sebelumnya di-deploy menggunakan mode deploy lanjutan.
Jika belum menggunakan mode deploy lanjutan untuk men-deploy commit, klik tombol Select Commit untuk melihat histori commit dengan commit yang telah digabungkan oleh developer Looker ke cabang produksi.
Untuk project yang telah menggunakan mode deploy lanjutan untuk men-deploy commit, histori commit juga akan menampilkan tag terkait commit, jika ada, dan akan menunjukkan commit mana yang merupakan versi saat ini yang digunakan untuk produksi.
Jika cabang produksi memiliki commit yang lebih baru daripada commit yang di-deploy, deployment manager akan menampilkan informasi ini dan menunjukkan commit terbaru yang telah digabungkan oleh developer Looker ke cabang produksi.
Men-deploy commit dari deployment manager
Ada beberapa cara untuk men-deploy commit dari deployment manager:
- Untuk men-deploy commit yang belum di-deploy, klik tombol Select Commit untuk memilih dari semua commit yang telah digabungkan ke cabang produksi jarak jauh. (Jika ingin men-deploy commit dari cabang lain, gunakan mode deploy lanjutan webhook atau endpoint API.)
- Untuk men-deploy commit yang paling baru digabungkan di cabang produksi jarak jauh, klik tombol Deploy Latest.
- Untuk men-deploy commit atau tag yang telah di-deploy sebelumnya, klik menu tiga titik Options dari deployment manager, lalu Deploy to Production.
Jika Anda memilih commit yang belum di-deploy sebelumnya, deployment manager akan menampilkan menu Deploy Commit. Untuk men-deploy commit dari menu Deploy Commit, ikuti langkah-langkah berikut:
- Untuk men-deploy commit tanpa menetapkan tag, pilih Deploy without tagging , lalu pilih Deploy to Environment. Jika tidak, biarkan opsi Tag and deploy dipilih.
Tentukan tag untuk commit. Tag Git menandai signifikansi commit dalam histori repositori, seperti nomor rilis atau nama versi. Perhatikan hal-hal berikut tentang tag Git:
- Tag Git harus unik dalam repositori Git. Anda tidak dapat menggunakan tag yang sama untuk dua commit yang berbeda di repositori.
- Tag Git tidak boleh berisi spasi atau karakter khusus tertentu. Lihat dokumentasi referensi Git untuk mengetahui aturan penamaan referensi di Git.
Jika perlu, Anda dapat menambahkan deskripsi untuk tag guna memberikan detail lebih lanjut tentang commit.
Pilih Deploy to Environment untuk men-deploy commit ke versi produksi instance Looker.
Setelah Anda men-deploy commit, deployment manager akan menandai commit sebagai versi saat ini di lingkungan produksi Looker.
Men-deploy dengan webhook
Untuk project dengan mode deploy lanjutan, Anda dapat menggunakan webhook deploy untuk men-deploy perubahan ke produksi.
Untuk menyiapkan webhook deploy, Anda harus menambahkan secret webhook untuk project Looker dari halaman Project Configuration terlebih dahulu. Menambahkan secret webhook memastikan bahwa hanya pihak yang diotorisasi yang dapat memicu webhook deploy.
Dua webhook tersedia untuk men-deploy perubahan ke produksi dengan mode deploy lanjutan yang diaktifkan. Satu webhook digunakan untuk men-deploy head cabang, dan yang lainnya untuk men-deploy SHA atau tag Git tertentu.
Webhook untuk men-deploy head cabang menggunakan format ini:
<Looker URL>/webhooks/projects/<LookML project name>/deploy/branch/<Git branch name>
Webhook untuk men-deploy SHA atau tag commit menggunakan format ini:
<Looker URL>/webhooks/projects/<LookML project name>/deploy/ref/<commit SHA or tag>
Ganti informasi dalam tanda kurung sudut < >v1.0 untuk project e_faa di instance Looker docsexamples.dev.looker.com:
https://docsexamples.dev.looker.com/webhooks/projects/e_faa/deploy/ref/v1.0
Men-deploy dengan API
Untuk project dengan mode deploy lanjutan, Anda dapat menggunakan Looker API untuk men-deploy perubahan ke produksi.
Untuk men-deploy dengan API, pengguna API yang melakukan panggilan harus memiliki izin deploy. Lihat halaman dokumentasi Autentikasi Looker API dan Memulai Looker API untuk mengetahui informasi selengkapnya tentang cara melakukan autentikasi dan menggunakan Looker API.
Untuk men-deploy dengan API, gunakan deploy_ref_to_production endpoint. Endpoint ini dapat dipanggil dengan beberapa cara yang berbeda. Contoh berikut adalah untuk metode HTTPS dan SDK.
HTTPS
Untuk men-deploy secara manual menggunakan endpoint API deploy_ref_to_production, lihat contoh berikut, yang menggunakan metode HTTPS. Untuk mengetahui informasi dan contoh selengkapnya tentang cara memanggil API secara manual menggunakan permintaan CURL, lihat readme GitHub Cara Melakukan Autentikasi ke API, atau gunakan API Explorer. Anda dapat menginstal API Explorer di instance Looker dari Looker Marketplace.
Gunakan contoh berikut dalam permintaan HTTPS untuk men-deploy head cabang atau SHA atau tag commit tertentu melalui endpoint API deploy_ref_to_production:
Men-deploy head cabang:
<HOST_URL>/api/4.0/projects/<PROJECT_ID>/deploy_ref_to_production?branch=<BRANCH_NAME>
Men-deploy SHA atau tag commit:
<HOST_URL>/api/4.0/projects/<PROJECT_ID>/deploy_ref_to_production?ref=<SHA_OR_TAG>
SDK
Atau, gunakan salah satu SDK Looker, bukan membuat permintaan manual ke API. SDK menangani detail autentikasi, serialisasi parameter dan respons, serta masalah lainnya.
Men-deploy dengan deploy_ref_to_production menggunakan metode SDK akan terlihat seperti berikut:
Men-deploy head cabang:
deploy_ref_to_production(<PROJECT_ID>, {branch: <BRANCH_NAME>})
Men-deploy SHA atau tag commit:
deploy_ref_to_production(<PROJECT_ID>, {ref: <SHA_OR_TAG>})