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.