Firebase App Hosting menggunakan Cloud Build untuk mengubah kode sumber aplikasi Anda menjadi format container yang sesuai untuk deployment di Cloud Run.
Proses build beroperasi melalui tahap utama berikut:
Penyerapan: Mengumpulkan kode sumber dan konfigurasi aplikasi Anda.
Build: Menginstal dependensi dan mem-build aplikasi Anda.
Penyerahan: Menyelesaikan penampung Cloud Run produksi.
Tiga langkah ini sesuai langsung dengan langkah build 1, 2, dan 3 seperti yang ditampilkan di Cloud Build di Konsol Google Cloud:
Tahap transfer
Tahap ini bertanggung jawab untuk menangani logika pra-pembuatan. Fungsi ini membaca, membersihkan, dan
menulis variabel lingkungan buatan pengguna. Fungsi ini juga melakukan dereferensi dan menyematkan secret apa pun yang ditentukan dalam file apphosting.yaml
.
Tahap build
Ini adalah inti dari proses build, yang bertanggung jawab untuk membuat image penampung
yang dapat dijalankan dan file bundle.yaml
yang menentukan konfigurasi build Anda.
Fungsi ini menggunakan Buildpack Berbasis Cloud untuk mengemas aplikasi secara efisien. Informasi selengkapnya tentang file bundle.yaml
dapat ditemukan
di github.
Buildpack bertanggung jawab untuk mengubah kode sumber aplikasi Anda menjadi image container yang siap produksi. Firebase App Hosting menyambungkan beberapa buildpack untuk menyelesaikan proses build:
- Buildpack Runtime: Memastikan semua komponen yang diperlukan untuk menjalankan aplikasi Node.js dasar disertakan dan dependensi diinstal.
- Buildpack Monorepo: Mengonfigurasi buildpack berikutnya untuk menangani berbagai skenario monorepo.
Framework Buildpack: Menginstal adaptor framework yang benar (seperti Angular atau Next.js) dan menyiapkan buildpack berikutnya.
Adaptor framework bertanggung jawab menjalankan perintah build produksi dan memetakan nilai konfigurasi khusus framework yang relevan ke format standar yang dapat dibaca oleh App Hosting.
Buildpack Pengelola Paket: Menjalankan penginstalan dependensi dan membangun aplikasi menggunakan npm, yarn, atau pnpm.
Buildpack Paket Output: Menentukan perintah run dan menyiapkan paket output untuk dijalankan.
Tahap penyerahan
Tahap akhir ini memaketkan semua informasi yang diekstrak dari kode sumber aplikasi serta image container build dan mengirimkannya ke backend App Hosting. Backend App Hosting kemudian menggunakan informasi ini untuk menyiapkan Cloud Run dengan konfigurasi yang tepat.
Pelajari lebih lanjut
Seluruh proses build App Hosting bersifat open source.
- Kode buildpack ada di repositori buildpack Google Cloud
- Kode untuk adaptor framework ada di repositori firebase-framework-tools
- Pelajari buildpack Berbasis Cloud dan Cloud Build lebih lanjut