Default & Custom Env Varb
Last updated
Was this helpful?
Last updated
Was this helpful?
GitHub Actions’da Environment Variables (env vars) hem GitHub tarafından varsayılan olarak sağlanan bilgilerden (default env vars) hem de kendi tanımladığın değişkenlerden (custom env vars) oluşur. Bu değişkenlere, Workflow içindeki adımlarda (steps
) direkt echo "$DEGISKEN_ADI"
şeklinde ya da Actions expression syntax’ıyla (${{ env.DEGISKEN_ADI }}
) erişebilirsin.
GitHub, her job ve her step için otomatik tanımladığı bazı ortam değişkenlerini sağlar. Örnekler:
GITHUB_REF
: Hangi branch veya tag üzerinde çalıştığını (refs/heads/main
, refs/tags/v1.0.0
) gösterir.
GITHUB_REPOSITORY
: “Sahip/RepoAdı” formatında, örneğin “octocat/Hello-World”.
GITHUB_WORKFLOW
: İş akışının adı (Workflow dosyasında name:
ile belirttiğin değer).
GITHUB_ACTOR
: İş akışını tetikleyen kullanıcı veya uygulamanın adı.
GITHUB_SHA
: Tetiklenen commit’in SHA’sı.
RUNNER_OS
, RUNNER_NAME
, RUNNER_TEMP
, RUNNER_ARCH
gibi, çalıştığı runner’ın işletim sistemi, adı, mimarisi vb. bilgileri tutar.
Kullanım Örneği,
Bu step, GitHub’ın otomatik oluşturduğu değişkenleri terminal çıktısına basar.
“$GITHUB_REPOSITORY” gibi ifadeler, default environment variables’dan gelir.
Workflow içinde kendi istediğin değişkenleri de tanımlayabilirsin. Bu tanımlamaları üç farklı düzeyde yapabilirsin:
Workflow Düzeyinde (env:
en üstte)
Tüm job’lar ve step’ler, DAY_OF_WEEK
ve API_URL
değişkenlerini görebilir.
Job Düzeyinde (env:
job altında)
Sadece bu job içinde geçerli olur. Diğer job’lar bu değişkeni göremez.
Step Düzeyinde (env:
step altında)
Sadece bu step için geçerli olur, diğer step’lere aktarılmaz.
env
değişkenlerini koşullu ifadelerde şöyle kullanabilirsin:
Burada “env.DAY_OF_WEEK
” expression syntax içinde kullanılıyor.
GitHub Actions sırasıyla en üstteki “env” → job düzeyindeki “env” → step düzeyindeki “env” şeklinde okur.
Aynı isme sahip bir değişken en altta (step düzeyinde) yeniden tanımlanırsa, o step için bu en güncel değeri kullanır (override).
Default Env Vars
GitHub’ın sağladığı “GITHUB_*
”, “RUNNER_*
” gibi değişkenlerdir (örneğin GITHUB_REF
, GITHUB_WORKFLOW
, RUNNER_OS
).
Her step’te otomatik bulunur, “$GITHUB_REF
” vb. şekilde kullanılır.
Custom Env Vars
Kendi istediğin değerleri tanımlayıp $DEGISKEN_ADI
şeklinde kullanırsın.
Düzeyler: Workflow, Job, Step.
Daha spesifik düzeyde tanımlanan env var, önceki düzeydekileri geçersiz kılar.