Men-deploy ke Cloud Functions

Halaman ini menjelaskan cara men-deploy aplikasi ke Cloud Functions menggunakan Cloud Build. Jika Anda baru menggunakan Cloud Build, baca panduan memulai dan Ringkasan konfigurasi build terlebih dahulu.

Cloud Functions adalah lingkungan eksekusi tanpa server untuk membuat dan menghubungkan layanan cloud. Dengan Cloud Functions, Anda menulis fungsi-fungsi sederhana dan bertujuan tunggal yang dilampirkan ke peristiwa yang muncul dari infrastruktur serta layanan cloud Anda. Fungsi Anda dipicu saat peristiwa yang sedang dipantau diaktifkan. Untuk mengetahui informasi lebih lanjut tentang Cloud Functions, baca dokumentasi Cloud Functions.

Sebelum memulai

  • Aktifkan Cloud Functions API:

    Mengaktifkan Cloud Functions API

  • Berikan peran Cloud Functions Developer untuk akun layanan Cloud Build:

    1. Buka halaman Setelan Cloud Build:

      Buka halaman Cloud Build Settings

    2. Tetapkan status peran Cloud Functions Developer ke Enabled.

  • Untuk menjalankan perintah gcloud di halaman ini, instal Google Cloud CLI.

  • Simpan kode sumber aplikasi yang ingin Anda bangun dan deploy ke Cloud Functions. Kode sumber Anda harus disimpan dalam repositori, seperti Cloud Source Repositories, GitHub, atau Bitbucket.

Mengonfigurasi deployment

Dengan Cloud Build, Anda dapat menggunakan image container yang tersedia secara publik untuk menjalankan tugas. Anda dapat melakukannya dengan menentukan image dalam step build di file konfigurasi Cloud Build.

Cloud Functions menyediakan perintah gcloud functions deploy, yang men-deploy fungsi Anda dari direktori yang berisi kode fungsi Anda. Anda dapat menggunakan image cloud-sdk sebagai langkah build dalam file konfigurasi untuk memanggil perintah gcloud dalam image. Argumen yang diteruskan ke langkah build ini diteruskan langsung ke Google Cloud CLI, sehingga Anda dapat menjalankan perintah gcloud apa pun di image ini.

Untuk men-deploy aplikasi ke Cloud Functions, ikuti langkah-langkah berikut:

  1. Di direktori utama project, buat file konfigurasi Cloud Build dengan nama cloudbuild.yaml atau cloudbuild.json.
  2. Di file konfigurasi:

    • Tambahkan kolom name dan tentukan langkah build gcloud.
    • Tambahkan functions deploy ke kolom args untuk memanggil perintah gcloud functions deploy. Untuk opsi konfigurasi yang tersedia, lihat referensi gcloud functions deploy.
    • --source=. menyiratkan bahwa kode sumber berada di direktori kerja saat ini.

    YAML

    steps:
    - name: 'gcr.io/google.com/cloudsdktool/cloud-sdk'
      args:
      - gcloud
      - functions
      - deploy
      - FUNCTION_NAME
      - --region=FUNCTION_REGION
      - --source=.
      - --trigger-http
      - --runtime=RUNTIME
    

    JSON

    {
     "steps": [
      {
         "name": "gcr.io/google.com/cloudsdktool/cloud-sdk",
         "args": [
           "gcloud",
           "functions",
           "deploy",
            [
              "FUNCTION_NAME"
            ],
            "--region=FUNCTION_REGION",
            "--source=.",
            "--trigger-http",
            "--runtime=RUNTIME"
         ]
       }
      ]
    }
    

    Ganti nilai placeholder dalam file konfigurasi di atas dengan yang berikut ini:

    • FUNCTION_NAME adalah nama Cloud Functions yang Anda deploy. Jika Anda mengupdate fungsi yang sudah ada, nilai ini harus cocok dengan nama fungsi yang sedang diperbarui.
    • FUNCTION_REGION adalah region tempat Anda men-deploy Cloud Functions. Untuk mengetahui daftar region yang didukung, baca artikel Lokasi Cloud Functions.
    • --trigger-http adalah jenis pemicu untuk fungsi ini, dalam hal ini permintaan HTTP (webhook).
    • RUNTIME adalah runtime yang akan digunakan untuk menjalankan fungsi.

    Untuk mengetahui informasi selengkapnya tentang penggunaan gcloud functions deploy, baca dokumentasi Cloud Functions.

  3. Mulai build menggunakan file konfigurasi yang dibuat pada langkah sebelumnya:

     gcloud builds submit --region=REGION --config CONFIG_FILE_PATH SOURCE_DIRECTORY
    

    Ganti nilai placeholder dalam file konfigurasi di atas dengan yang berikut ini:

    • CONFIG_FILE_PATH adalah jalur ke file konfigurasi build.
    • SOURCE_DIRECTORY adalah jalur atau URL ke kode sumber.
    • REGION adalah salah satu region build yang didukung.

    Jika Anda tidak menentukan CONFIG_FILE_PATH dan SOURCE_DIRECTORY dalam perintah gcloud builds submit, Cloud Build menganggap file konfigurasi dan kode sumber berada di direktori kerja saat ini.

Deployment berkelanjutan

Anda dapat mengotomatiskan deployment software ke Cloud Functions dengan membuat pemicu Cloud Build. Anda dapat mengonfigurasi pemicu untuk mem-build dan men-deploy gambar setiap kali memperbarui kode sumber.

Untuk mengotomatiskan deployment Anda ke Cloud Functions:

  1. Di root repositori Anda, tambahkan file konfigurasi dengan langkah-langkah untuk memanggil perintah gcloud functions deploy:

    YAML

    steps:
    - name: 'gcr.io/google.com/cloudsdktool/cloud-sdk'
      args:
      - gcloud
      - functions
      - deploy
      - FUNCTION_NAME
      - --region=FUNCTION_REGION
      - --source=.
      - --trigger-http
      - --runtime=RUNTIME
    

    JSON

    {
     "steps": [
      {
         "name": "gcr.io/google.com/cloudsdktool/cloud-sdk",
         "args": [
           "gcloud",
           "functions",
           "deploy",
            [
              "FUNCTION_NAME"
            ],
            "--region=FUNCTION_REGION",
            "--source=.",
            "--trigger-http",
            "--runtime=RUNTIME"
         ]
       }
      ]
    }
    

    Ganti nilai placeholder dalam file konfigurasi di atas dengan yang berikut ini:

    • FUNCTION_NAME adalah nama Cloud Functions yang Anda deploy. Jika Anda mengupdate fungsi yang sudah ada, nilai ini harus cocok dengan nama fungsi yang sedang diperbarui.
    • FUNCTION_REGION adalah region tempat Anda men-deploy Cloud Functions. Untuk mengetahui daftar region yang didukung, lihat Lokasi Cloud Functions.
    • --trigger-http adalah jenis pemicu untuk fungsi ini, dalam hal ini permintaan HTTP (webhook).
    • RUNTIME adalah runtime yang akan digunakan untuk menjalankan fungsi.
  2. Buat pemicu build dengan file konfigurasi yang dibuat di langkah sebelumnya:

    1. Buka halaman Pemicu di Konsol Google Cloud:

      Buka halaman Pemicu

    2. Pilih project Anda dari menu drop-down pemilih project di bagian atas halaman.

    3. Klik Buat trigger.

    4. Di kolom Nama, masukkan nama pemicu Anda.

    5. Di bagian Region, pilih region untuk pemicu Anda.

    6. Di bagian Peristiwa, pilih peristiwa repositori untuk memulai pemicu Anda.

    7. Di bagian Sumber, pilih repositori dan cabang atau nama tag yang akan memulai pemicu Anda. Untuk informasi selengkapnya tentang menentukan cabang yang akan otomatis di-build, lihat Membuat pemicu build.

    8. Di bagian Configuration, pilih Cloud Build configuration file (YAML atau JSON).

    9. Di kolom Lokasi file konfigurasi Cloud Build, ketik cloudbuild.yaml setelah /.

    10. Klik Buat untuk menyimpan pemicu build Anda.

Setiap kali mengirim kode baru ke repositori, Anda akan otomatis memicu build dan deployment di Cloud Functions.

Untuk informasi selengkapnya tentang cara membuat pemicu Cloud Build, lihat Membuat dan mengelola pemicu build.

Langkah selanjutnya