Buildpack Google Cloud adalah project open source yang mengambil kode sumber aplikasi Anda dan mengubahnya menjadi image container yang siap produksi. Buildpack yang dipublikasikan oleh Google Cloud menerapkan spesifikasi Buildpack Berbasis Cloud dan dirancang untuk membantu Anda membangun serta mengonfigurasi container yang dapat di-deploy ke Google Cloud.
Buildpack biasanya bertanggung jawab atas komponen
bahasa, toolchain, atau komponen aplikasi; seperti Python, pip
, atau server web.
Buildpack dikelompokkan bersama menjadi koleksi yang disebut
builder yang dapat menganalisis kode sumber project,
membuat rencana build, dan menghasilkan image container yang siap untuk deployment.
Containerization dengan buildpack
Saat Anda men-deploy dan menyalurkan aplikasi (layanan) atau fungsi pada produk Google Cloud Serverless, kode Anda akan dikemas ke dalam container yang dapat dijalankan menggunakan buildpack. Di Cloud Run, Anda memiliki opsi untuk men-deploy container yang telah dibuat sebelumnya atau men-deploy kode sumber agar Cloud Run dapat mengelola build container. Di Cloud Functions dan App Engine, proses containerization terkelola sepenuhnya, artinya saat Anda men-deploy kode sumber, semua pengemasan dan konversi image container telah dikerjakan untuk Anda.
Setiap image container dibangun dengan semua komponen yang diperlukan untuk menjalankan deployment, yang meliputi kode sumber, dependensi sistem dan library, data konfigurasi, dan aset statis. Secara default, produk Serverless Google Cloud menggunakan layanan dasar yang sama, termasuk Cloud Build untuk pipeline deployment, dan Container Registry atau Artifact Registry untuk penyimpanan dan pengelolaan image container.
Saat menggunakan buildpack Google Cloud:
- Builder dan buildpack telah dikonfigurasi sebelumnya untuk menangani proses build dan membuat image container yang dapat dijalankan untuk Anda.
- Buildpack mendukung beberapa bahasa pemrograman dan secara otomatis mendeteksi bahasa apa yang digunakan dalam kode sumber Anda.
- Anda dapat menyesuaikan dan memperluas buildpack untuk menginstal dependensi sistem tambahan. Namun, builder default dapat menangani tugas umum yang diperlukan oleh bahasa pemrograman Anda, termasuk menginstal dependensi dari repositori paket bahasa dan menggunakan file dependensi umum bahasa tersebut.
Menggunakan buildpack untuk menyimpan kode ke dalam container
Buildpack dapat digunakan secara lokal atau jarak jauh untuk:
Untuk bahasa pemrograman yang mengecualikan cara standar untuk memulai aplikasi,
Anda dapat menggunakan Procfile
untuk menentukan proses yang akan dipanggil saat container dimulai.
Procfile
dapat digunakan untuk mengganti proses awal default untuk setiap
jenis buildpack, tetapi bersifat wajib untuk beberapa jenis build, termasuk
Python.