Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
Firebase App Hosting menggunakan Cloud Build untuk mengubah kode sumber aplikasi Anda menjadi format yang di-container dan cocok untuk deployment di Cloud Run.
Proses build beroperasi melalui tahap-tahap utama berikut:
Penyerapan: Mengumpulkan kode sumber dan konfigurasi aplikasi Anda.
Build: Menginstal dependensi dan membangun aplikasi Anda.
Penyerahan: Memfinalisasi container Cloud Run produksi.
Ketiga langkah ini secara langsung sesuai dengan langkah-langkah build 1, 2, dan 3 seperti yang ditampilkan di
Cloud Build di Konsol Google Cloud:
Tahap penyerapan
Tahap ini bertanggung jawab untuk menangani logika pra-build. Plugin ini membaca, membersihkan, dan
menulis variabel lingkungan buatan pengguna. Selain itu, ini juga membatalkan referensi dan menyematkan rahasia yang ditentukan dalam file apphosting.yaml.
Tahap pembangunan
Ini adalah inti dari proses build, yang bertanggung jawab untuk menghasilkan image container yang dapat dijalankan dan file bundle.yaml yang menentukan konfigurasi build Anda.
Cara 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 menggabungkan
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 untuk menjalankan perintah build yang diproduksi dan memetakan nilai konfigurasi khusus framework yang relevan ke format standar yang dapat dibaca oleh App Hosting.
Buildpack Pengelola Paket: Mengeksekusi penginstalan dependensi dan membangun aplikasi menggunakan npm, yarn, atau pnpm.
Output Bundle Buildpack: Menentukan perintah run dan menyiapkan paket
output untuk dieksekusi.
Tahap pengalihan
Tahap akhir ini memaketkan semua informasi yang diekstrak dari kode sumber aplikasi ditambah 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.
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Informasi yang saya butuhkan tidak ada","missingTheInformationINeed","thumb-down"],["Terlalu rumit/langkahnya terlalu banyak","tooComplicatedTooManySteps","thumb-down"],["Sudah usang","outOfDate","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Masalah kode / contoh","samplesCodeIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 2025-08-31 UTC."],[],[],null,["\u003cbr /\u003e\n\nFirebase App Hosting utilizes Cloud Build to transform your\napplication source code into a containerized format suitable for deployment on\nCloud Run.\n\nThe build process operates through the following key stages:\n\n1. **Ingest**: Gathers your application source code and configuration.\n\n2. **Build**: Installs dependencies and builds your application.\n\n3. **Handoff** : Finalizes the production Cloud Run container.\n\nThese three steps correspond directly to build steps 1, 2 and 3 as displayed in\nCloud Build in the Google Cloud Console:\n\nIngest stage\n\nThis stage is responsible for handling pre-build logic. It reads, sanitizes, and\nwrites user-defined environment variables. It also dereferences and pins any\nsecrets specified in the `apphosting.yaml` file.\n\nBuild stage\n\nThis is the core of the build process, responsible for generating a runnable\ncontainer image and a `bundle.yaml` file defining your build configuration.\nIt utilizes [Cloud Native Buildpacks](https://cloud.google.com/docs/buildpacks/overview)\nto package the\napplication efficiently. More information on the `bundle.yaml`file can be found\non [github](https://github.com/FirebaseExtended/firebase-framework-tools).\n\nBuildpacks are responsible for transforming your application source code into\nproduction ready container images. Firebase App Hosting chains together\nseveral buildpacks to complete the build process:\n\n1. **Runtime Buildpack**: Ensures all necessary components for running a basic Node.js application are included and dependencies are installed.\n2. **Monorepo Buildpack**: Configures subsequent buildpacks to handle different monorepo scenarios.\n3. **Framework Buildpack**: Installs the correct framework adapter (like\n Angular or Next.js) and prepares subsequent buildpacks.\n\n Framework adapters are in charge of running the productionized build\n command and mapping any relevant framework-specific config values to a\n standard format readable by App Hosting.\n4. **Package Manager Buildpack**: Executes the installation of dependencies and\n builds the app using npm, yarn, or pnpm.\n\n5. **Output Bundle Buildpack**: Defines the run command and prepares the output\n bundle for execution.\n\nHandoff stage\n\nThis final stage packages all the information extracted from the application\nsource code plus the build container image and sends it to the App Hosting\nbackend. The App Hosting backend then uses this information to set up\nCloud Run with the proper configurations.\n\nLearn more\n\nThe entire App Hosting build process is open source.\n\n- The buildpack code is in [the Google Cloud buildpacks repo](https://github.com/GoogleCloudPlatform/buildpacks)\n- Code for framework adapters is in the [firebase-framework-tools repo](https://github.com/FirebaseExtended/firebase-framework-tools)\n- Learn more about [Cloud Native buildpacks](https://cloud.google.com/docs/buildpacks/overview) and [Cloud Build](https://cloud.google.com/build/docs/overview)"]]