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 nilai dan kunci arbitrer yang dapat diakses oleh alur kerja Anda saat runtime. Library ini disimpan di backend Alur kerja, dicakupkan ke eksekusi alur kerja, dan tidak dapat diubah selama eksekusi alur kerja.

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

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

Nama yang digunakan sistem

Variabel lingkungan bawaan yang ditentukan untuk Workflows sudah dipesan dan tidak dapat ditetapkan.

Perlu diperhatikan 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 aditif, dalam dokumen ini, lihat artikel Memperbarui variabel lingkungan.

Konsol

  1. Di konsol Google Cloud, buka halaman Workflows:

    Buka Workflows

  2. Di halaman Workflows, klik Create.

  3. Di halaman Create Workflow, lengkapi kolom yang sesuai untuk mengonfigurasi definisi alur kerja.

  4. Di bagian Variabel lingkungan (opsional), klik Tambahkan variabel.

  5. Di kolom Nama 1, tentukan nama variabel.

  6. Di kolom Nilai 1, tentukan nilai variabel.

  7. Untuk menambahkan variabel lain, klik Tambahkan variabel.

  8. Klik Next.

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

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 Anda seperti yang ditunjukkan dalam contoh. Untuk mengetahui informasi lebih lanjut, baca bagian 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.

Menyetel 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 pembatas yang berbeda, misalnya, @:

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

Menyimpan variabel dalam file

Untuk menyimpan variabel Anda 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 Workflows sebelum variabel lingkungan baru ditambahkan.

Misalnya, isi file YAML mungkin sebagai berikut:

KEY1: "value1"
KEY2: "value2"

Untuk mengetahui 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, kemudian 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 Anda perbarui.

    Halaman Detail alur kerja akan muncul.

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

    • Klik tab Details.

      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 Anda.
      2. Untuk men-deploy alur kerja yang telah diupdate, klik Next, 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 buatan pengguna untuk alur kerja yang ada.

Konsol

  1. Di konsol Google Cloud, buka halaman Workflows.

    Buka Workflows

  2. Klik nama alur kerja yang ingin Anda perbarui.

    Halaman Detail alur kerja akan muncul.

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

    • Klik tab Details.

      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 diupdate, klik Next, 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 ditetapkan secara eksplisit, hal tersebut dapat menimbulkan konsekuensi yang tidak diinginkan.

Mengelola secret

Variabel lingkungan dapat digunakan untuk mengonfigurasi alur kerja, tetapi tidak direkomendasikan 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 tinjau praktik terbaik untuk pengelolaan rahasia, dan ikuti petunjuk untuk menggunakan Secret Manager dengan Workflows.

Konvensi penamaan

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

Batas ukuran

Maksimum 20 variabel lingkungan buatan pengguna dapat ditentukan. Setiap string definisi (KEY=value) dibatasi hingga 4 KiB.

Langkah selanjutnya