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:
steps:
- name: Print variable
run: echo "App ID: ${{ vars.APP_ID_EXAMPLE }}"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 →
secretskullanNon-sensitive (herhangi bir URL, sürüm numarası, config) →
varskullan
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