Menggunakan variabel lingkungan

Anda dapat menentukan variabel lingkungan untuk Alur Kerja pada waktu deployment. Misalnya, Anda dapat membuat alur kerja yang dikonfigurasi secara dinamis bergantung pada lingkungan tempat alur kerja tersebut di-deploy. Atau, Anda dapat membuat alur kerja yang dapat digunakan kembali sebagai template dan dikonfigurasi sesuai dengan variabel lingkungan yang dikelola secara terpisah.

Variabel lingkungan ditetapkan sebagai pasangan string kunci dan nilai arbitrer yang dapat diakses oleh alur kerja Anda saat runtime. Data ini disimpan di backend Alur Kerja, dicakup untuk eksekusi alur kerja, dan tidak dapat diubah selama eksekusi alur kerja.

Semua variabel lingkungan terikat pada deployment alur kerja, dan hanya dapat ditetapkan atau diubah dengan deployment. Membuat atau mengubah variabel lingkungan memerlukan deployment yang berhasil. Jika deployment gagal karena suatu alasan, perubahan apa pun pada variabel lingkungan tidak akan diterapkan.

Anda dapat menambahkan, memperbarui, atau menghapus variabel lingkungan yang ditentukan pengguna menggunakan Google Cloud CLI.

Nama yang digunakan sistem

Variabel lingkungan bawaan yang ditentukan untuk Alur Kerja dilindungi dan tidak dapat ditetapkan.

Perhatikan bahwa Anda tidak dapat menggunakan hal berikut saat menentukan variabel lingkungan untuk Alur Kerja:

Kunci Deskripsi
Kosong ('') Kunci tidak boleh berupa string kosong.
GOOGLE_ Kunci tidak boleh berisi awalan GOOGLE_.
WORKFLOWS_ Kunci tidak boleh berisi awalan WORKFLOWS_.

Menetapkan variabel lingkungan

Anda dapat menentukan variabel baru atau mengganti variabel yang ada saat men-deploy alur kerja. Untuk membuat perubahan tambahan, lihat Memperbarui variabel lingkungan dalam dokumen ini.

Konsol

  1. Di konsol Google Cloud, buka halaman Workflows:

    Buka Workflows

  2. Di halaman Alur kerja, klik Buat.

  3. Di halaman Create workflow, isi kolom yang sesuai untuk mengonfigurasi definisi alur kerja Anda.

  4. Di bagian Environment variables (optional), klik Add variable.

  5. Di kolom Name 1, tentukan nama variabel.

  6. Di kolom Value 1, tentukan nilai variabel.

  7. Untuk menambahkan variabel lain, klik Tambahkan variabel.

  8. Klik Berikutnya.

  9. Setelah menentukan alur kerja, untuk men-deploy-nya, klik Deploy.

gcloud

Untuk menetapkan variabel lingkungan, gunakan flag --set-env-vars:

gcloud workflows deploy WORKFLOW_NAME \
    --set-env-vars KEY1=VALUE1

Ganti kode berikut:

  • WORKFLOW_NAME: ID alur kerja Anda.
  • KEY1=VALUE1: nama variabel lingkungan dan nilainya; misalnya, MONTH=January.

Terraform

Untuk membuat alur kerja, gunakan resource google_workflows_workflow dan ubah file main.tf seperti yang ditunjukkan dalam contoh. Untuk mengetahui informasi selengkapnya, baca artikel Membuat alur kerja menggunakan Terraform.

Gunakan argumen user_env_vars untuk mengaitkan variabel lingkungan dengan revisi alur kerja.

Untuk mempelajari cara menerapkan atau menghapus konfigurasi Terraform, lihat Perintah dasar Terraform.

Menetapkan beberapa variabel lingkungan

Untuk menetapkan beberapa variabel lingkungan, gunakan daftar yang dipisahkan koma:

gcloud workflows deploy WORKFLOW_NAME \
      --set-env-vars KEY1=VALUE1,KEY2=VALUE2

Escape karakter koma

Karena karakter koma (,) digunakan untuk membatasi variabel lingkungan, jika nilai variabel Anda menyertakan koma, Anda harus menentukan karakter pemisah yang berbeda, misalnya, @:

gcloud workflows deploy WORKFLOW_NAME \
      --set-env-vars ^@^KEY1=VALUE1,VALUE2,VALUE3@KEY2=VALUE2

Menyimpan variabel dalam file

Untuk menyimpan variabel dalam file (misalnya, di bawah kontrol sumber), gunakan file YAML dan flag --env-vars-file:

gcloud workflows deploy WORKFLOW_NAME \
      --env-vars-file FILE_PATH

Ganti FILE_PATH dengan jalur ke file YAML lokal yang mencantumkan definisi untuk variabel lingkungan Anda. Perhatikan bahwa nama dan nilai variabel harus berupa string. Semua variabel lingkungan yang ada akan dihapus oleh Alur Kerja sebelum variabel lingkungan baru ditambahkan.

Misalnya, konten file YAML mungkin seperti berikut:

KEY1: "value1"
KEY2: "value2"

Untuk informasi selengkapnya tentang perintah deploy, lihat gcloud workflows deploy.

Mengakses variabel lingkungan

Untuk mengakses variabel lingkungan, lakukan panggilan ke fungsi sys.get_env() dalam ekspresi, dengan meneruskan nama variabel lingkungan sebagai parameter. Nama variabel lingkungan harus diteruskan sebagai string.

Misalnya, alur kerja berikut menetapkan nilai variabel lingkungan KEY1 ke variabel alur kerja yang disebut keyValue, lalu menghasilkan nilai tersebut:

main:
  steps:
    - init:
        assign:
          - keyValue: ${sys.get_env("KEY1")}
    - returnResult:
        return: ${keyValue}

Memperbarui variabel lingkungan

Anda dapat memperbarui variabel lingkungan buatan pengguna untuk alur kerja yang ada. Ini adalah pendekatan non-destruktif yang mengubah atau menambahkan variabel lingkungan, tetapi tidak menghapus variabel.

Konsol

  1. Di konsol Google Cloud, buka halaman Workflows.

    Buka Workflows

  2. Klik nama alur kerja yang ingin diperbarui.

    Halaman Workflow details akan muncul.

  3. Untuk mengedit variabel lingkungan yang ada, lakukan salah satu tindakan berikut:

    • Klik tab Detail.

      1. Di samping Environment variables, klik ikon .
      2. Buat perubahan.
      3. Untuk men-deploy alur kerja yang diperbarui, klik Simpan.
    • Klik Edit.

      1. Di bagian Environment variables (optional), buat perubahan.
      2. Untuk men-deploy alur kerja yang telah diperbarui, klik Berikutnya, lalu Deploy.

gcloud

Untuk memperbarui variabel, gunakan flag --update-env-vars:

gcloud workflows deploy WORKFLOW_NAME \
    --update-env-vars KEY1=VALUE1

Untuk memperbarui beberapa variabel lingkungan, gunakan daftar yang dipisahkan koma:

gcloud workflows deploy WORKFLOW_NAME \
    --update-env-vars KEY1=VALUE1,KEY2=VALUE2

Menghapus variabel lingkungan

Anda dapat menghapus variabel lingkungan yang ditentukan pengguna untuk alur kerja yang ada.

Konsol

  1. Di konsol Google Cloud, buka halaman Workflows.

    Buka Workflows

  2. Klik nama alur kerja yang ingin diperbarui.

    Halaman Workflow details akan muncul.

  3. Untuk menghapus variabel lingkungan yang ada, lakukan salah satu tindakan berikut:

    • Klik tab Detail.

      1. Klik yang sesuai.
      2. Di samping variabel lingkungan yang ingin Anda hapus, klik ikon .
      3. Untuk men-deploy alur kerja yang diperbarui, klik Simpan.
    • Klik Edit.

      1. Di samping variabel lingkungan yang ingin Anda hapus, klik ikon .
      2. Untuk men-deploy alur kerja yang telah diperbarui, klik Berikutnya, lalu Deploy.

gcloud

Jika Anda ingin menghapus variabel lingkungan secara selektif, gunakan flag --remove-env-vars:

gcloud workflows deploy WORKFLOW_NAME \
    --remove-env-vars KEY1,KEY2

Atau, Anda dapat menghapus semua variabel lingkungan yang ditetapkan sebelumnya dengan flag --clear-env-vars:

gcloud workflows deploy WORKFLOW_NAME \
    --clear-env-vars

Praktik terbaik

Sebagai praktik terbaik, sebaiknya Anda tidak bergantung pada atau mengubah variabel lingkungan yang belum ditetapkan secara eksplisit. Jika Anda mengubah variabel lingkungan selain yang telah Anda tetapkan secara eksplisit, hal ini dapat menyebabkan konsekuensi yang tidak diinginkan.

Mengelola secret

Variabel lingkungan dapat digunakan untuk mengonfigurasi alur kerja, tetapi tidak direkomendasikan sebagai cara untuk menyimpan dan menggunakan secret seperti kredensial database atau kunci API. Nilai sensitif ini harus disimpan secara terpisah dari kode sumber dan variabel lingkungan Anda, dan tidak dikirim secara tidak sengaja ke log.

Untuk menyimpan secret, sebaiknya Anda meninjau praktik terbaik untuk pengelolaan secret, dan mengikuti petunjuk untuk menggunakan Secret Manager dengan Alur Kerja.

Konvensi penamaan

Sebagai aturan umum, sebaiknya kunci variabel lingkungan hanya terdiri dari huruf besar, angka, dan garis bawah (_), dan tidak dimulai dengan angka. Pertimbangkan untuk memberi awalan pada variabel lingkungan yang ditentukan pengguna dengan kunci unik untuk menghindari konflik dengan variabel lain.

Batas ukuran

Anda dapat menentukan maksimum 20 variabel lingkungan buatan pengguna. Setiap string definisi (KEY=value) dibatasi hingga 4 KiB.

Langkah selanjutnya