Configuration Variables
GitHub Actions’da Configuration Variables (Konfigürasyon Değişkenleri), “non-sensitive” (hassas olmayan) değerleri saklamak ve bunları Workflow’larında kullanmak için geliştirilmiş bir özelliktir. Yani bu değişkenler, “Secrets” gibi gizli/şifreli saklanmıyor; fakat yine de tanımlanan değişkenlere pratik şekilde erişebilmeni sağlıyor.
1) Configuration Variables Nedir?
Amaç: API URL, sürüm numarası, dosya yolları gibi hassas olmayan değerleri global veya environment bazında saklayıp, Workflow’larda tekrar tekrar kullanmak.
Farkı ne?
Secrets: Gizli/saklanması gereken şifre, token gibi veriler.
secrets.*
context’iyle erişilir ve log’larda maskelenir.Configuration Variables: Düz metin, hassas olmayan ayarlar.
vars.*
context’iyle erişilir, maskelenme gibi bir ihtiyaç yok.
2) “vars” Context
Workflow içinde şöyle kullanabilirsin:
vars.APP_ID_EXAMPLE
, GitHub arayüzünden ya da CLI’dan ayarladığın bir değişkenin değerini döndürür.
Önemli Not: Bu değişkeni tanımlarken hassas değer koyarsan, log’larda olduğu gibi görünecektir (maskelenmez). Çünkü bu “non-sensitive” kullanım içindir.
3) Nasıl Tanımlanır?
GitHub, CLI (komut satırı) ya da web arayüzünden değişken ekleme/düzenleme işini destekliyor:
GitHub CLI (“gh variable set …”)
Örnek komutlar:
Web Arayüzünden
Repo “Settings” → “Secrets and variables” → “Actions” menüsünde “Variables” sekmesi bulunur.
“New Repository Variable” diyerek isim ve değer girersin.
Organization ya da Environment düzeyinde de benzer menüler vardır.
4) Neden Secrets Değil de Vars?
Sensitive (gizli) data →
secrets
kullanNon-sensitive (herhangi bir URL, sürüm numarası, config) →
vars
kullan
Bu sayede parolalarla sıradan ayarları karıştırmadan, hem daha düzenli hem de güvenlik açısından doğru yaklaşımı benimsersin.
Burada “
MY_CONFIG_VAR
” adlı bir değişkeni (örneğin “https://api.example.com/v1”) sakladığını varsayalım.Workflow’da
$MY_CONFIG_VAR
’ın değerini doğrudan görebilirsin (maskelenmez).
Özet
Configuration Variables → Hassas olmayan değerler için “vars” context.
Tanımlama → Web arayüzünden veya GitHub CLI ile (
gh variable set …
).Düzeyler → Repo / Environment / Organization.
Fark: Secrets’lar şifreli ve maskelenir, Vars ise düz metin; dolayısıyla güvenli bilgileri asla Vars’ta tutmamalısın.
Bu şekilde, GitHub Actions içinde bir yandan gizli verileri “Secrets” ile yönetirken, diğer yandan “Vars” ile konfigürasyon ayarlarını kolayca paylaşabilirsin.
Last updated
Was this helpful?