Anda dapat menentukan variabel lingkungan untuk Workflows 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 Workflows, dicakup ke 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 Workflows bersifat dilindungi dan tidak dapat ditetapkan.
Perhatikan bahwa Anda tidak dapat menggunakan hal berikut saat menentukan variabel lingkungan untuk Workflows:
| 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 melakukan perubahan tambahan, lihat Memperbarui variabel lingkungan dalam dokumen ini.
Konsol
Di konsol Google Cloud , buka halaman Workflows:
Di halaman Workflows, klik Buat.
Di halaman Create workflow, isi kolom yang sesuai untuk mengonfigurasi definisi alur kerja Anda.
Di bagian Environment variables (optional), klik Add variable.
Di kolom Name 1, tentukan nama variabel.
Di kolom Value 1, tentukan nilai variabel.
Untuk menambahkan variabel lain, klik Tambahkan variabel.
Klik Berikutnya.
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 Anda seperti yang ditunjukkan dalam contoh. Untuk mengetahui informasi selengkapnya, lihat 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 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 dalam file (misalnya, di bawah kontrol sumber), gunakan
file YAML dan tanda --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
dihapus oleh Workflows sebelum variabel lingkungan baru
ditambahkan.
Misalnya, isi file YAML mungkin seperti 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, lalu menampilkan nilai tersebut:
main: steps: - init: assign: - keyValue: ${sys.get_env("KEY1")} - returnResult: return: ${keyValue}
Memperbarui variabel lingkungan
Anda dapat memperbarui variabel lingkungan yang ditentukan pengguna untuk alur kerja yang ada. Ini adalah pendekatan non-destruktif yang mengubah atau menambahkan variabel lingkungan, tetapi tidak menghapus variabel.
Konsol
Di konsol Google Cloud , buka halaman Workflows.
Klik nama alur kerja yang ingin Anda perbarui.
Halaman Workflow details akan muncul.
Untuk mengedit variabel lingkungan yang ada, lakukan salah satu hal berikut:
Klik tab Details.
- Di samping Environment variables, klik ikon .
- Buat perubahan.
- Untuk men-deploy alur kerja yang diperbarui, klik Simpan.
Klik Edit.
- Di bagian Variabel lingkungan (opsional), buat perubahan.
- Untuk men-deploy alur kerja yang diperbarui, klik Berikutnya, lalu klik Deploy.
gcloud
Untuk memperbarui variabel, gunakan flag --update-env-vars:
gcloud workflows deploy WORKFLOW_NAME \ --update-env-vars KEY1=VALUE1
Untuk mengupdate 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
Di konsol Google Cloud , buka halaman Workflows.
Klik nama alur kerja yang ingin Anda perbarui.
Halaman Workflow details akan muncul.
Untuk menghapus variabel lingkungan yang ada, lakukan salah satu tindakan berikut:
Klik tab Details.
- Klik yang sesuai.
- Di samping variabel lingkungan yang ingin Anda hapus, klik ikon .
- Untuk men-deploy alur kerja yang diperbarui, klik Simpan.
Klik Edit.
- Di samping variabel lingkungan yang ingin Anda hapus, klik ikon .
- Untuk men-deploy alur kerja yang diperbarui, klik Berikutnya, lalu klik Deploy.
gcloud
Jika 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 tinjau praktik terbaik untuk pengelolaan secret, 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 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 hanya dapat menentukan maksimum 20 variabel lingkungan buatan pengguna. Setiap string definisi (KEY=value) dibatasi hingga 4 KiB.