Menetapkan kumpulan pekerja build (deployment sumber)

Saat Anda men-deploy kode sumber fungsi ke Cloud Run, sumber tersebut disimpan di bucket Cloud Storage. Cloud Build kemudian secara otomatis membangun kode Anda ke dalam image container dan mengirimkan image tersebut ke registry image. Setiap build berjalan di pekerjanya sendiri. Cloud Run mengakses image ini jika image tersebut perlu menjalankan container untuk menjalankan fungsi Anda.

Jika Anda ingin menyesuaikan kumpulan pekerja build yang menggunakan Cloud Build untuk konteks build yang aman Kontrol Layanan VPC, Anda perlu menyesuaikan kumpulan pekerja. Halaman ini relevan bagi developer platform yang men-deploy fungsi di Cloud Run, dan mengonfigurasi kumpulan pribadi yang digunakan oleh Cloud Build.

Sebelum memulai

Aktifkan Cloud Build API:

gcloud services enable cloudbuild.googleapis.com

Peran yang diperlukan

Untuk mendapatkan izin yang Anda butuhkan untuk men-deploy dari sumber, minta administrator untuk memberi Anda peran IAM berikut pada project Anda:

Untuk mengetahui daftar peran dan izin IAM yang terkait dengan Cloud Run, lihat Peran IAM Cloud Run dan Izin IAM Cloud Run. Jika antarmuka layanan Cloud Run Anda dengan Google Cloud API, seperti Library Klien Cloud, lihat panduan konfigurasi identitas layanan. Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat izin deployment dan mengelola akses.

Mengamankan build dengan pool pribadi

Secara default, Cloud Build memiliki akses internet tak terbatas selama proses build {i>checkout<i}. Jika Anda telah menyiapkan perimeter Kontrol Layanan VPC (VPC SC) dan ingin membatasi akses build hanya ke dependensi yang disimpan di dalam perimeter (untuk Misalnya, paket npm), Anda dapat menggunakan Kumpulan pekerja pribadi Cloud Build aplikasi baru.

Secara umum, ikuti langkah-langkah berikut untuk menyiapkan pool pribadi:

  1. Membuat pool worker pribadi. Lihat Membuat dan mengelola kumpulan pribadi.
  2. Konfigurasi perimeter Kontrol Layanan VPC Anda. Baca Menggunakan Kontrol Layanan VPC.

  3. Jika kumpulan pekerja pribadi Anda berada dalam project yang berbeda dengan Cloud Run, Anda harus memberikan izin kepada Cloud Run Agen Layanan (service-PROJECT_NUMBER@serverless-robot-prod.) Pengguna WorkerPool Cloud Build (cloudbuild.workerPoolUser) agar layanan Cloud Build dapat yang mengakses kumpulan pekerja.

    gcloud projects add-iam-policy-binding PRIVATE_POOL_PROJECT_ID \
        --member serviceAccount:service-PROJECT_NUMBER@serverless-robot-prod. \
        --role roles/cloudbuild.workerPoolUser

    Ganti:

    • PROJECT_NUMBER dengan nomor project tempat fungsi dijalankan.
    • PRIVATE_POOL_PROJECT_ID dengan ID project tempat kumpulan pekerja Anda berada. Lihat Menjalankan build di kolam renang pribadi untuk informasi selengkapnya.
  4. Deploy fungsi Anda untuk membangun penggunaan pool pribadi:

gcloud

Untuk menentukan kumpulan pribadi yang akan di-build saat men-deploy fungsi dari sumber kode:

gcloud beta run deploy SERVICE \
  --source . \
  --function FUNCTION_ENTRY_POINT \
  --build-worker-pool WORKER_POOL

Ganti:

  • SERVICE dengan nama fungsi Anda.
  • FUNCTION_ENTRY_POINT dengan titik entri ke fungsi Anda di kode sumber Anda.
  • WORKER_POOL dengan nama kolam renang pribadi.

Menghapus kumpulan pekerja build

Anda dapat menghapus kumpulan pekerja build untuk fungsi yang ada.

gcloud

Untuk menghapus kumpulan pekerja Cloud Build untuk suatu fungsi:

gcloud beta run deploy SERVICE \
  --source . \
  --function FUNCTION_ENTRY_POINT \
  --clear-build-worker-pool WORKER_POOL

Ganti:

  • SERVICE dengan nama fungsi Anda.
  • FUNCTION_ENTRY_POINT dengan titik entri ke fungsi Anda di kode sumber Anda.
  • WORKER_POOL dengan nama kolam renang pribadi yang Anda inginkan yang ingin dihapus.