Dengan integrasi Looker Git default, developer Looker melakukan commit perubahan ke cabang pengembangan, 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 implementasi Git lanjutan.)
Untuk implementasi Git lanjutan jika Anda tidak ingin commit terbaru di cabang produksi digunakan untuk lingkungan Looker, admin Looker dapat mengaktifkan mode deployment lanjutan. Jika diaktifkan, mode deployment 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 webhook atau endpoint API mode deploy lanjutan.
Mode deployment lanjutan membantu menggabungkan repositori dalam alur kerja developer multi-lingkungan, dengan setiap lingkungan mengarah ke versi codebase yang berbeda. Hal ini juga memberi satu atau beberapa developer atau administrator kontrol yang lebih besar atas perubahan yang di-deploy ke produksi.
Jika mode deployment lanjutan diaktifkan, Looker tidak akan meminta developer untuk men-deploy perubahan mereka ke produksi. Sebagai gantinya, Looker meminta developer untuk menggabungkan perubahan mereka ke dalam cabang produksi. Dari sana, perubahan hanya dapat di-deploy dengan cara berikut:
- Menggunakan pengelola deployment
- 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 deployment lanjutan diaktifkan, men-deploy ke produksi dari Looker tidak lagi menjadi opsi bagi developer. Sebagai gantinya, saat developer membuat 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 pengelola deployment.
Deployment manager
Untuk project dengan mode deployment lanjutan yang diaktifkan, developer Looker yang memiliki izin deploy
dapat menggunakan pengelola deployment untuk men-deploy commit atau tag ke lingkungan produksi Looker mereka.
Anda dapat mengakses pengelola deployment dengan memilih ikon Deploy dari menu ikon.
Pengelola deployment menampilkan semua commit dan tag yang sebelumnya di-deploy menggunakan mode deployment lanjutan.
Jika Anda belum menggunakan mode deployment 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 deployment 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, pengelola deployment akan menampilkan informasi ini dan menampilkan commit terbaru yang telah digabungkan oleh developer Looker Anda 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 Anda ingin men-deploy commit dari cabang yang berbeda, gunakan webhook atau endpoint API mode deploy lanjutan.)
- Untuk men-deploy commit yang terakhir digabungkan di cabang produksi jarak jauh, klik tombol Deploy Latest.
- Untuk men-deploy commit atau tag yang telah di-deploy sebelumnya, klik menu Opsi tiga titik dari pengelola deployment, lalu Deploy to Production.
Jika Anda memilih commit yang belum di-deploy sebelumnya, pengelola deployment 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 Beri tag dan 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.
Secara opsional, 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 Anda.
Setelah Anda men-deploy commit, pengelola deployment akan menandai commit sebagai versi saat ini di lingkungan produksi Looker Anda.
Men-deploy dengan webhook
Untuk project dengan mode deployment lanjutan, Anda dapat menggunakan webhook deployment untuk men-deploy perubahan ke produksi.
Untuk menyiapkan webhook deployment, Anda harus menambahkan secret webhook untuk project Looker terlebih dahulu dari halaman Project Configuration. Menambahkan secret webhook memastikan bahwa hanya pihak yang berwenang yang dapat memicu webhook deployment.
Dua webhook tersedia untuk men-deploy perubahan ke produksi dengan mode deploy lanjutan diaktifkan. Satu webhook digunakan untuk men-deploy head cabang, dan webhook lainnya digunakan 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 deployment 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 API untuk mengetahui informasi selengkapnya tentang mengautentikasi dan menggunakan Looker API.
Untuk men-deploy dengan API, gunakan endpoint deploy_ref_to_production
. Endpoint ini dapat dipanggil dengan beberapa cara. 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 informasi selengkapnya dan contoh 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 deploy_ref_to_production
API:
Men-deploy head cabang:
<HOST_URL>/api/4.0/projects/<PROJECT_ID>/deploy_ref_to_production?branch=<BRANCH_NAME>
Men-deploy tag atau SHA 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
dengan metode SDK akan terlihat seperti berikut:
Men-deploy head cabang:
deploy_ref_to_production(<PROJECT_ID>, {branch: <BRANCH_NAME>})
Men-deploy tag atau SHA commit:
deploy_ref_to_production(<PROJECT_ID>, {ref: <SHA_OR_TAG>})