Meluncurkan rilis

Dokumen ini menjelaskan cara meluncurkan rilis menggunakan App Lifecycle Manager.

App Lifecycle Manager memungkinkan pembaruan 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 pembaruan terkelola di seluruh basis 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 Aplikasi, Anda harus:

Membuat rilis

Sebelum dapat memperbarui Penawaran Aplikasi, Anda harus membuat rilis. Rilis mewakili versi tertentu dari aplikasi SaaS Anda yang ditentukan oleh paket blueprint dan konfigurasi terkait. Pada dasarnya, rilis berisi pembaruan untuk unit Anda.

Konsol

  1. Buka App Lifecycle Manager.

    Buka App Lifecycle Manager

  2. Klik Rilis.

  3. Di halaman Rilis, klik Buat.

  4. Di halaman Buat Rilis:

    1. Di kotak Nama rilis, masukkan nama unik untuk rilis Anda.
    2. Di kotak Jenis unit, pilih jenis unit yang terkait dengan rilis ini.
    3. Di bagian Hanya dapat diupgrade dari (opsional), Anda dapat memilih rilis yang dapat diupgrade dari unit ke rilis ini. Hal ini memungkinkan Anda mengontrol jalur upgrade.
    4. Di langkah Buat Blueprint dan Simpan Blueprint, pilih atau buat blueprint Anda. Lihat dokumentasi Blueprint untuk mengetahui informasi mendetail tentang opsi pembuatan blueprint.
    5. Di bagian Variabel (opsional), Anda dapat menetapkan variabel input untuk rilis ini. Lihat dokumentasi Variabel untuk mengetahui informasi selengkapnya tentang cara menetapkan variabel.

  5. Klik Buat.

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

gcloud

Untuk membuat rilis menggunakan Google Cloud konsol:

gcloud beta app-lifecycle-manager 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. ID 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 agar Anda dapat menyediakan unit, dan menyertakan metadata tentang mesin yang digunakan (Terraform), serta versinya.
    • Jika Anda menghapus nama host di URI, nama host akan ditetapkan secara default ke jalur Artifact Registry regional (misalnya, us-east1-docker.pkg.dev).
    • Lihat dokumentasi Blueprint untuk mengetahui informasi selengkapnya tentang cara membuat blueprint.
  • 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. Nilai defaultnya adalah lokasi yang dikonfigurasi di lingkungan Google Cloud CLI Anda.
  • LABELS: (Opsional) Label yang akan diterapkan ke rilis untuk kategorisasi. Label adalah pasangan nilai kunci.
    • Kunci harus diawali dengan karakter huruf kecil dan hanya berisi tanda hubung, garis bawah, karakter huruf kecil, dan angka.
    • Nilai hanya boleh berisi tanda hubung, garis bawah, karakter huruf kecil, dan angka.
    • Contoh: --labels=environment=staging,team=app-lifecycle-manager
  • 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 flag ini, tidak ada batasan pada rilis yang dapat diupdate ke rilis ini.
    • Jika disediakan, permintaan update unit ke rilis ini akan menerapkan batasan ini.
  • INPUT_VARIABLE_DEFAULTS: (Opsional) Nilai default untuk variabel input yang diperlukan oleh blueprint.
    • 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 menetapkan variabel, lihat dokumentasi Variabel. Untuk mengetahui informasi selengkapnya tentang rilis, lihat Release referensi Google Cloud CLI.

Membuat jenis peluncuran

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

Konsol

  1. Buka App Lifecycle Manager.

    Buka App Lifecycle Manager

  2. Klik Jenis peluncuran.

  3. Di halaman Jenis Peluncuran, klik Buat.

  4. Di halaman Buat jenis peluncuran:

    1. Di kotak Nama jenis peluncuran, masukkan nama untuk jenis peluncuran Anda.
    2. Di kotak Jenis unit, pilih jenis unit yang menjelaskan jenis unit yang ingin Anda luncurkan.
    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): Mengupdate satu lokasi dalam satu waktu (tanpa waktu tunggu). Mengupdate hingga 5% unit secara serentak.
      • Semua sekaligus (sederhana): Semua lokasi mulai diluncurkan 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 tunggu).
      • Progresif (satu lokasi): Mengupdate unit dalam batch persentase dengan waktu tunggu yang diperpanjang untuk mendeteksi masalah dalam satu lokasi.

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

  5. Klik Buat.

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

gcloud

Untuk membuat jenis peluncuran menggunakan Google Cloud konsol:

  gcloud beta app-lifecycle-manager 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 rilis. Rilis diterapkan ke semua unit dari 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: Mengupdate satu lokasi dalam satu waktu (tanpa waktu tunggu). Mengupdate hingga 5% unit secara serentak.
    • Google.Cloud.Simple.AllAtOnce: Semua lokasi mulai diluncurkan 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: Mengupdate unit dalam batch persentase dengan waktu tunggu 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 error_budget maks Anda (ditentukan oleh allowed_count, allowed_ratio * total_units), peluncuran akan dijeda. Jika error_budget tidak ditetapkan, App Lifecycle Manager akan mencoba mengupdate semua unit, terlepas dari jumlah kegagalan yang terjadi.

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

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

    • UPDATE_UNIT_KIND_STRATEGY_UNSPECIFIED: Strategi update jenis unit tidak ditentukan.
    • UPDATE_UNIT_KIND_STRATEGY_ON_START: Update strategi jenis unit saat peluncuran dimulai.
    • UPDATE_UNIT_KIND_STRATEGY_NEVER: Jangan pernah mengupdate strategi jenis unit.

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

Fitur anggaran error

App Lifecycle Manager menyertakan fitur anggaran error (ErrorBudget di RolloutKind) sebagai perlindungan. Fitur 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 mengupdate unit Anda.

Setelah peluncuran dibuat, App Lifecycle Manager akan mengupdate unit Anda sesuai dengan strategi yang ditentukan dalam jenis unit.

Konsol

  1. Buka App Lifecycle Manager.

    Buka App Lifecycle Manager

  2. Klik Peluncuran.

  3. Di halaman Daftar Peluncuran, klik Buat.

  4. Di halaman Buat peluncuran:

    1. Di kotak Jenis Peluncuran, pilih jenis peluncuran yang menjelaskan cara meluncurkan rilis Anda ke unit yang ditentukan.
    2. Di kotak Rilis, tentukan rilis yang akan digunakan untuk mengupdate unit.
    3. Di kotak Nama Peluncuran, masukkan nama untuk peluncuran Anda.
  5. Klik Buat.

  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 Google Cloud konsol:

  gcloud beta app-lifecycle-manager 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 dari jenis unit yang ditentukan dalam jenis peluncuran.
  • RELEASE_NAME: Menentukan biner rilis yang ingin Anda deploy ke unit Anda.
  • LOCATION: Lokasi tempat Anda ingin membuat peluncuran.

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

Langkah berikutnya