Meluncurkan rilis

Dokumen ini menjelaskan cara meluncurkan rilis menggunakan SaaS Runtime.

SaaS Runtime memungkinkan update di beberapa unit yang disediakan menggunakan peluncuran. Peluncuran menargetkan unit berdasarkan UnitKind dan secara opsional dapat menerapkan filter (unit_filter) untuk menargetkan subset unit tertentu menggunakan Google Cloud CLI . Hal ini memungkinkan update terkelola di seluruh dasar yang di-deploy. Rollback dapat dilakukan dengan mengupgrade unit ke rilis sebelumnya.

Untuk operasi pada satu unit tertentu, gunakan kontrol yang tersedia di halaman Detail unit.

Sebelum memulai

Sebelum memperbarui penawaran SaaS, Anda harus:

Membuat rilis

Sebelum dapat memperbarui penawaran SaaS, Anda harus membuat rilis. Rilis merepresentasikan versi tertentu dari aplikasi SaaS Anda yang ditentukan oleh paket cetak biru dan konfigurasi terkaitnya. Pada dasarnya, rilis berisi update ke unit Anda.

Konsol

  1. Buka SaaS Runtime.

    Buka Runtime SaaS

  2. Klik Rilis.

  3. Di halaman Rilis, klik Buat.

  4. Di halaman Create Release:

    1. Di kotak Nama rilis, masukkan nama unik untuk rilis Anda.
    2. Di kotak Unit kind, pilih jenis unit yang terkait dengan rilis ini.
    3. Di bagian Hanya dapat diupgrade dari (opsional), Anda dapat secara opsional memilih rilis yang dapat diupgrade unit dari rilis ini. Hal ini memungkinkan Anda mengontrol jalur upgrade.
    4. Pada langkah Create Blueprint dan Store Blueprint, pilih atau buat cetak biru Anda. Lihat dokumentasi Cetak Biru untuk mengetahui informasi mendetail tentang opsi pembuatan cetak biru.
    5. Di bagian Variabel (opsional), Anda dapat secara opsional menetapkan variabel input untuk rilis ini. Lihat dokumentasi Variabel untuk mengetahui informasi selengkapnya tentang cara menyetel variabel.

  5. Klik Create.

  6. Anda telah membuat rilis. Anda dapat melihat detail rilis di halaman Detail rilis. Anda akan dapat merujuk rilis ini saat membuat peluncuran.

gcloud

Untuk membuat rilis menggunakan konsol Google Cloud :

gcloud beta saas-runtime releases create RELEASE_NAME --blueprint-package=BLUEPRINT_PACKAGE_URI --unit-kind=UNIT_KIND [--location=LOCATION] [--labels=[KEY=VALUE,...]] [--upgradeable-from-releases=[RELEASE_NAME,...]] [--input-variable-defaults=[variable=VARIABLE,value=VALUE,type=TYPE,...]]

Ganti:

  • RELEASE_NAME: ID rilis yang ingin Anda buat. Bagian ini akan menjadi bagian dari nama resource lengkap untuk rilis.
  • BLUEPRINT_PACKAGE_URI: URI paket blueprint yang akan digunakan untuk rilis ini. Blueprint adalah image OCI yang dihosting di Artifact Registry, atau registry OCI lainnya.
    • Paket blueprint berisi artefak yang diperlukan untuk menyediakan unit, dan menyertakan metadata tentang mesin yang digunakan (Terraform), serta versinya.
    • Jika Anda menghilangkan nama host dalam URI, nama host akan ditetapkan secara default ke jalur Artifact Registry regional (misalnya, us-east1-docker.pkg.dev).
    • Lihat dokumentasi Cetak Biru untuk mengetahui informasi selengkapnya tentang cara membuat cetak biru.
  • UNIT_KIND: ID atau ID yang memenuhi syarat sepenuhnya untuk jenis unit yang sesuai dengan rilis ini. UNIT_KIND tidak dapat diubah setelah Anda membuat rilis.
  • LOCATION: Lokasi tempat Anda ingin membuat rilis. Flag ini memberikan nilai pengganti untuk lokasi rilis jika jalur URI lengkap tidak diberikan. Secara default, lokasi yang dikonfigurasi di lingkungan Google Cloud CLI Anda.
  • LABELS: (Opsional) Label yang akan diterapkan pada rilis untuk kategorisasi. Label adalah pasangan nilai kunci.
    • Kunci harus diawali dengan huruf kecil dan hanya berisi tanda hubung, garis bawah, huruf kecil, dan angka.
    • Nilai hanya boleh berisi tanda hubung, garis bawah, karakter huruf kecil, dan angka.
    • Contoh: --labels=environment=staging,team=saas-runtime
  • UPGRADEABLE_FROM_RELEASES: (Opsional) Daftar nama rilis yang dipisahkan koma yang menentukan rilis yang ada yang dapat diupdate dengan rilis baru yang Anda buat.
    • Jika Anda mengosongkan tanda ini, tidak ada batasan pada rilis yang dapat diupdate ke rilis ini.
    • Jika diberikan, permintaan update unit ke rilis ini akan menerapkan batasan ini.
  • INPUT_VARIABLE_DEFAULTS: (Opsional) Nilai default untuk variabel input yang diperlukan oleh cetak biru.
    • Anda dapat menentukan default variabel secara inline atau dengan mereferensikan file YAML atau JSON.
    • Variabel yang ditentukan di sini dapat diganti selama pembuatan peluncuran.

Untuk mengetahui informasi selengkapnya tentang cara menyetel variabel, lihat dokumentasi Variabel. Untuk mengetahui informasi selengkapnya tentang rilis, lihat referensi Release Google Cloud CLI.

Membuat jenis peluncuran

Sebelum dapat membuat peluncuran, Anda harus membuat jenis peluncuran yang berfungsi sebagai template untuk cara rilis di-deploy ke unit Anda.

Konsol

  1. Buka SaaS Runtime.

    Buka Runtime SaaS

  2. Klik Jenis peluncuran.

  3. Di halaman Rollout Kinds, klik Create.

  4. Di halaman Create a rollout kind:

    1. Di kotak Rollout kind name, masukkan nama untuk jenis peluncuran Anda.
    2. Di kotak Jenis unit, pilih jenis unit yang ingin Anda rilis.
    3. Di drop-down Strategi peluncuran, pilih strategi yang ingin Anda gunakan untuk men-deploy rilis ke unit Anda:

      • Satu lokasi dalam satu waktu (sederhana): Memperbarui satu lokasi dalam satu waktu (tanpa waktu perendaman). Memperbarui hingga 20% unit secara bersamaan.
      • Sekaligus (sederhana): Semua lokasi mulai meluncurkan secara bersamaan (ideal untuk lingkungan pengembangan dan skenario darurat).
      • Progresif (bertahap): Meluncurkan update secara bertahap dalam batch persentase secara eksponensial di beberapa lokasi (dengan waktu pengetesan).
      • Progresif (satu lokasi): Memperbarui unit dalam batch persentase dengan waktu perendaman yang lebih lama untuk mendeteksi masalah dalam satu lokasi.

      Untuk mengetahui informasi selengkapnya tentang strategi peluncuran, lihat Strategi peluncuran.

  5. Klik Create.

  6. Anda telah membuat jenis peluncuran. Di halaman Detail Jenis peluncuran, Anda dapat melihat dan mengedit parameter untuk jenis peluncuran.

gcloud

Untuk membuat jenis peluncuran menggunakan konsol Google Cloud :

  gcloud beta saas-runtime rollout-kinds create ROLLOUT_KIND_NAME --unit-kind=UNIT_KIND --location=LOCATION --rollout_strategy=ROLLOUT_STRATEGY --error_budget=ERROR_BUDGET --unit_filter=UNIT_FILTER --update_unit_kind_default=UPDATE_UNIT_KIND_DEFAULT

Ganti:

  • ROLLOUT_KIND_NAME: Nama jenis peluncuran.
  • UNIT_KIND: Menentukan unit yang ingin Anda terapkan rilisnya. Rilis diterapkan ke semua unit jenis unit yang dipilih.
  • LOCATION: Lokasi tempat Anda ingin membuat jenis peluncuran.
  • ROLLOUT_STRATEGY: Menentukan strategi peluncuran untuk jenis peluncuran Anda. Nilai yang memungkinkan mencakup:

    • Google.Cloud.Simple.OneLocationAtATime: Memperbarui satu lokasi dalam satu waktu (tanpa waktu perendaman). Memperbarui hingga 20% unit secara bersamaan.
    • Google.Cloud.Simple.AllAtOnce: Semua lokasi mulai meluncurkan secara bersamaan (ideal untuk lingkungan pengembangan dan skenario darurat).
    • Google.Cloud.Progressive.Gradual.v1: Meluncurkan update secara bertahap dalam batch persentase secara eksponensial di beberapa lokasi (dengan waktu tunggu).
    • Google.Cloud.Progressive.SingleLocation.v1: Memperbarui unit dalam batch persentase dengan waktu berdiam yang diperpanjang untuk mendeteksi masalah dalam satu lokasi.

    Untuk mengetahui informasi selengkapnya tentang strategi peluncuran, lihat Strategi peluncuran.

  • ERROR_BUDGET: Konfigurasi untuk anggaran error. Jika jumlah unit yang gagal melebihi maksimum error_budget (ditentukan oleh allowed_count, allowed_ratio * total_units), peluncuran akan dijeda. Jika error_budget tidak ditetapkan, SaaS Runtime akan mencoba memperbarui semua unit terlepas dari jumlah kegagalan yang terjadi.

  • UNIT_FILTER: String filter berformat CEL yang digunakan untuk unit. Filter akan diterapkan untuk menentukan populasi unit yang memenuhi syarat. Filter ini hanya dapat mengurangi cakupan peluncuran. Tidak dapat memperluas cakupan peluncuran.

  • UPDATE_UNIT_KIND_DEFAULT: Konfigurasi untuk memperbarui jenis unit. Secara default, jenis unit akan diperbarui saat peluncuran dimulai. Nilai yang memungkinkan mencakup:

    • UPDATE_UNIT_KIND_STRATEGY_UNSPECIFIED: Strategi update jenis unit tidak ditentukan.
    • UPDATE_UNIT_KIND_STRATEGY_ON_START: Perbarui strategi jenis unit pada awal peluncuran.
    • UPDATE_UNIT_KIND_STRATEGY_NEVER: Jangan pernah memperbarui strategi jenis unit.

Untuk mengetahui informasi selengkapnya, lihat RolloutKind Referensi Google Cloud CLI.

Fitur anggaran error

SaaS Runtime menyertakan fitur anggaran error (ErrorBudget in RolloutKind) sebagai pengamanan. Hal ini dapat otomatis menjeda peluncuran jika jumlah atau persentase kegagalan update unit (selama penerapan infrastruktur, misalnya) melebihi nilai minimum yang dikonfigurasi, sehingga membantu membatasi dampak potensi masalah selama update.

Membuat peluncuran

Setelah membuat jenis peluncuran, Anda dapat membuat peluncuran yang menentukan rilis yang ingin Anda gunakan untuk memperbarui unit.

Setelah peluncuran dibuat, SaaS Runtime akan mengupdate unit Anda sesuai dengan strategi yang ditentukan dalam jenis unit.

Konsol

  1. Buka SaaS Runtime.

    Buka Runtime SaaS

  2. Klik Peluncuran.

  3. Di halaman Daftar Peluncuran, klik Buat.

  4. Di halaman Create a rollout:

    1. Di kotak Jenis Peluncuran, pilih jenis peluncuran yang menjelaskan cara meluncurkan rilis ke unit yang ditentukan.
    2. Di kotak Release, tentukan rilis untuk memperbarui unit.
    3. Di kotak Nama Peluncuran, masukkan nama untuk peluncuran Anda.
  5. Klik Create.

  6. Peluncuran Anda telah dibuat.

    Di halaman Detail Peluncuran Global, Anda dapat memantau detail peluncuran termasuk status peluncuran, progres peluncuran (berdasarkan jumlah unit), dan kegagalan peluncuran.

gcloud

Untuk membuat peluncuran menggunakan konsol Google Cloud :

  gcloud beta saas-runtime rollouts create ROLLOUT_NAME --rollout-kind=ROLLOUT_KIND_NAME --release=RELEASE_NAME --location=LOCATION

Ganti:

  • ROLLOUT_NAME: Nama peluncuran.
  • ROLLOUT_KIND_NAME: Menentukan jenis peluncuran yang ingin Anda gunakan untuk menerapkan rilis ke unit Anda. Rilis diterapkan ke semua unit jenis unit yang ditentukan dalam jenis peluncuran.
  • RELEASE_NAME: Menentukan biner rilis yang ingin Anda deploy ke unit.
  • LOCATION: Lokasi tempat Anda ingin membuat peluncuran.

Untuk mengetahui informasi selengkapnya, lihat Rollout Referensi Google Cloud CLI.

Langkah berikutnya