Runners
GitHub Runners, GitHub Actions iล akฤฑลlarฤฑnฤฑn (workflowโlarฤฑn) hangi makine/ortam รผzerinde รงalฤฑลacaฤฤฑnฤฑ belirler. Yani, bir job รงalฤฑลtฤฑrฤฑldฤฑฤฤฑnda aslฤฑnda โrunnerโ adฤฑ verilen bir sunucu ya da bilgisayar (sanal ortam) รผzerinde adฤฑm adฤฑm komutlarฤฑn yรผrรผtรผlmesi gerรงekleลir.
1) Runner Seรงimi: runs-on
runs-on
YAML dosyanda
jobs.<job_id>.runs-on: <runner_type>
ลeklinde belirttiฤin kฤฑsฤฑm, jobโun hangi iลletim sistemi / ortamda รงalฤฑลacaฤฤฑna karar verir.รrnek:
runs-on: ubuntu-latest
,runs-on: windows-latest
,runs-on: macos-latest
ฤฐstersen bir liste (array) olarak da verebilirsin. Ancak bu durumda runner, listedeki tรผm etiketlere uyan bir runner bulmalฤฑdฤฑr. (รrneฤin
[self-hosted, linux, x64]
gibi.)
2) GitHub-Hosted Runner
GitHubโฤฑn saฤladฤฑฤฤฑ hazฤฑr ortamlardฤฑr. Sen
ubuntu-latest
,windows-latest
gibi bir deฤer yazdฤฑฤฤฑnda, GitHub senin iรงin otomatik olarak bir sanal makine oluลturur, iล akฤฑลฤฑ bittiฤinde de o makineyi kapatฤฑr.Avantajlarฤฑ:
Kurulum / bakฤฑm gerektirmez. Tรผm yรถnetimi GitHub yapar.
Otomatik รถlรงeklendirir (scaling): Talep arttฤฑฤฤฑnda yeni makineler ayarlayabilir.
รรง ana iลletim sistemi (Ubuntu, Windows, macOS) varyantlarฤฑnฤฑ sunar.
Dezavantajlarฤฑ:
Konfigรผrasyon ve iลletim sistemi รผzerinde kฤฑsฤฑtlฤฑ kontrolรผn var. (รrneฤin, root eriลimi var ama custom kernel vb. kฤฑsฤฑtlฤฑ.)
Kullanฤฑm limitleri (dakika/ay) veya ek รผcretlendirmeler olabilir (รถzellikle รถzel planlarda).
Ortam paylaลฤฑmlฤฑ olduฤundan, bazen belirli gรผvenlik / IP adresi / รถzel network ihtiyaรงlarฤฑnda sฤฑnฤฑrlamalar olabilir.
3) Self-Hosted Runner
Kendi sunucun (fiziksel makine, VM, hatta Raspberry Pi vb.) รผzerine GitHub Actions runner uygulamasฤฑnฤฑ kurarsฤฑn. Bu makine GitHub ile haberleลir ve Actions iล akฤฑลlarฤฑnฤฑ orada รงalฤฑลtฤฑrฤฑrsฤฑn.
Avantajlarฤฑ:
Tam denetim: Kullanacaฤฤฑn donanฤฑm, yazฤฑlฤฑm, OS sรผrรผmรผ tamamen sana baฤlฤฑ.
รzel aฤ / veri tabanlarฤฑna doฤrudan eriลim: ลirket iรงi kaynaklara ya da izole bir aฤa eriลmek istiyorsan, bu runnerโฤฑ o aฤa koyabilirsin.
Performansฤฑnฤฑ, bellek, disk, CPU gibi kaynaklarฤฑ istediฤin gibi รถlรงeklendirebilirsin.
Dezavantajlarฤฑ:
Bakฤฑm ve gรผvenlik sorumluluฤu sende. Makinenin gรผncellenmesi, gรผvenlik yamalarฤฑ vb. senin gรถrevin.
GitHub, o makineyi yรถnetmiyor; yani ek kapasite gerektiฤinde otomatik oluลturmaz. Kendin ayarlamak zorundasฤฑn.
4) Standart Boyut vs. Larger Runners (GitHub-Hosted)
Standart Boyut: รcretsiz planlarฤฑn sunduฤu normal sanal makineler. Normal bellek/CPU kaynaklarฤฑyla gelirler.
Larger (daha bรผyรผk makineler) veya โpremiumโ runner seรงenekleri, Team ya da Enterprise planlarda sunulur. Daha fazla RAM, CPU, disk alanฤฑ, sabit IP gibi รถzellikleri olabilir.
Bรผyรผk runnerโlar genelde yรผksek kaynak isteyen (รงok parallel testler, bรผyรผk buildโlar vb.) projelerde kullanฤฑlฤฑr.
5) Koลullar, Kotalar ve รzelleลtirme
Koลullar / Kotalar:
GitHub Hosted Runnerโlarda dakikalฤฑk kullanฤฑm limitin olabilir (รผcretsiz planlarda sฤฑnฤฑrlฤฑ, รผcretli planlarda daha yรผksek).
Self-hosted runnerโda GitHubโฤฑn dakika limiti yoktur; ama kendi altyapฤฑ maliyetin devreye girer.
รzelleลtirme:
GitHub Hosted Runnerโlar โhazฤฑrโ ortamda belirli yazฤฑlฤฑmlar (Node, Python, Java, vs.) kurulu gelir.
Self-hosted ise tamamen istediฤin yazฤฑlฤฑmฤฑ / sรผrรผmรผ kurmakta รถzgรผrsรผn.
รzetle,
GitHub-Hosted: Kolay kurulum, anฤฑnda รถlรงeklendirme, รผรง temel iลletim sistemine destek, paylaลฤฑmlฤฑ/standart ortamlara uygun.
Self-Hosted: Tรผm kontrol ve bakฤฑm sende; รถzel aฤ, รถzel donanฤฑm ve ihtiyaรงlar varsa ideal.
Workflowโlarda โruns-on: ubuntu-latest
โ ya da โruns-on: self-hosted
โ diyerek jobโun hangi runnerโda รงalฤฑลacaฤฤฑnฤฑ belirliyorsun. ฤฐhtiyacฤฑna ve projenin gereksinimlerine gรถre bu seรงimi yaparsฤฑn.
Last updated
Was this helpful?