square-root-variableConfiguration 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:

  1. 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) datasecrets kullan

  • Non-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