Print Environment Variable di GitLab CI

1 menit baca.
Tags: CI/CDGitLab

Kalau job GitLab CI berperilaku aneh, print environment variable membantu melihat apa yang sebenarnya diterima runner.

Tapi hati-hati supaya secret tidak bocor di log.

Command dasar untuk print variable

Di dalam script job CI:

printenv | sort

Ini mencetak semua environment variable yang tersedia, terurut.

Output debug yang lebih aman

Supaya nilai sensitif tidak terekspos, filter key-nya dulu:

printenv | grep -E '^(CI_|NODE_|NPM_|APP_)' | sort

Ini lebih aman daripada dump semuanya begitu saja.

Contoh job GitLab CI

debug:variables:
  stage: test
  script:
    - printenv | grep -E '^(CI_|NODE_|NPM_)' | sort

Jalankan job ini hanya saat perlu, lalu hapus.

Cek satu variable dengan cepat

echo "CI_COMMIT_BRANCH=$CI_COMMIT_BRANCH"
echo "CI_PIPELINE_SOURCE=$CI_PIPELINE_SOURCE"

Berguna untuk debugging rule branch dan kondisi pipeline.

Redact secret di output

Kalau terpaksa print sebuah nilai untuk debug, mask dulu:

echo "TOKEN=${MY_TOKEN:0:4}****"

Jangan pernah print token/password lengkap di log CI.