YETENEKLER İÇİN
Blog Trendleri keşfet. Bülten Güncel kal. Mülakat Soruları Hazırlık yap. Yazılımcı Sözlüğü Kavramları öğren. Portfolyo Projelerini sergile. Üniversite Tercihleri Doğru seçimi yap. Yol Haritası Adım adım ilerle. Cheat Sheets Kısayollara bak. Yazılım Araçları Yardım al. Podcast Yolda dinle. Maaşlar Piyasayı öğren. Yapay Zeka Araçları Yapay zekayı keşfet.ŞİRKETLER İÇİN
Blog İK trendleri. Bülten Haberdar ol. HR Webinarları Uzmanları dinle. Başarı Hikayeleri İlham al. E-kitap Rehberleri indir. İK Hesaplama Araçları Kolayca hesapla.GitHub Actions, developer’ların uçtan uca DevOps işlemlerini otomatikleştirmesine olanak tanıyan bir sürekli entegrasyon ve sürekli teslim (CI/CD) çözümüdür. Git repository’e her kod gönderiminde gerçekleşir. Böylece, ortak havuza her yeni kod gönderildiğinde oluşturma, test etme ve devreye alma aşamaları otomatik olarak gerçekleşir.
Developer’lar, uygulamalarının ihtiyaçlarına göre yukarıda belirtilen tüm aşamaları ve daha fazlasını içeren iş akışları oluşturmak için GitHub Actions’tan yararlanabilirler. GitHub Actions, özelleştirmeye izin verir. Github Actions, Sürekli Entegrasyon (CI) ve sürekli dağıtım (CD) gibi birçok özelliği doğrudan yazılıma eklemeye yardımcı olur.
Linux, Windows, Ubuntu ve macOS gibi tüm önemli işletim sistemleri GitHub Actions’ı destekler. Platform, Rust, .NET, Java, Ruby, PHP, Go, Node.js ve Python gibi çeşitli programlama dillerini destekler. GitHub Actions’ın yerine tercih edilen alternatiflerden bazıları Jenkins, GitLab ve CircleCI'dir.
Bu, GitHub Actions’ın en yaygın kullanım durumlarından biridir. GitHub Actions ile sürekli entegrasyon (CI) ve sürekli dağıtım (CD) işlemleri otomatikleştirilebilir. Kod doğrudan konteynerler veya sanal makineler içinde dağıtılabilir.
GitHub Actions, yazılım geliştirme yaşam döngüsünde birçok adımı otomatikleştirmek için kullanılabilir.
GitHub Actions, üçüncü taraf test araçlarından CI/CD platformlarına, konteyner yönetim platformlarından sorun takip platformlarına ve sohbet uygulamalarına kadar tercih edilen araçları ve hizmetleri doğrudan repository'e bağlama ve entegre etme yeteneği sunar.
Üçüncü taraf test araçlarını repo içindeki iş akışına entegre etmeyi sağlar. Ayrıca çoklu konteyner testleri ve "matrix builds" gibi özellikler sunarak Linux, Windows ve macOS üzerinde aynı anda birden fazla testi çalıştırmaya olanak tanır.
GitHub Actions, iş akışını, depoda bir çekme isteğinin açılması veya bir sorunun oluşturulması gibi bir olay meydana geldiğinde tetiklenecek şekilde yapılandırmayı sağlar. GitHub Actions'ın CI/CD işlem hattı beş ana bileşenden oluşur. Her birinin belirli bir işlevi vardır ve aşağıda belirtildiği gibi DevOps yaşam döngüsünün farklı aşamalarında çalışır:
İş akışı, süreç mühendislerinin belirli bir görevi gerçekleştirmek üzere otomatikleştirebilecekleri bir süreçtir. Süreç mühendislerinin bir iş akışını tasarlamasına ve bunu belirli bir olayın tetikleyip tetiklemeyeceğine, görevlerin bir zaman çizelgesine göre mi yürütüleceğine veya görevlerin manuel olarak mı gerçekleştirileceğine karar vermesine yardımcı olur.
İş akışları, .github/workflows dizinindeki bir YAML dosyası kullanılarak tanımlanır. İş akışları hakkında daha fazla bilgi edinmek için iş akışlarını kullanma rehberine bakabilirsin.
Olay, bir iş akışını tetikleyen herhangi bir etkinliği ifade eder. Bir iş akışı, kod deposuna her gönderildiğinde oluşturma ve test işlemlerini gerçekleştiriyorsa, kodun gönderilmesi bir olaydır. Developer’ların bunları nasıl tasarladığına bağlı olarak çok sayıda olay bir iş akışını tetikleyebilir.
İşler, iş akışındaki bir dizi adımdır. Her iş diğerinden bağımsızdır ancak developer’lar birbirine bağlı işler de oluşturabilirler. Ancak, bunların kronolojik sıraya göre yapılandırıldığından emin olunmalıdır.
Eylemler, düzenli aralıklarla tekrar tekrar yürütülmesi gereken karmaşık görevlerdir. Developer’lar GitHub Actions’daki varsayılan eylemleri kullanabilir veya ihtiyaçlarına göre farklı türde eylemler yazabilirler.
Runner, iş akışlarındaki işleri çalıştıran bir sunucudur. Bir koşucu herhangi bir zamanda yalnızca bir işi yürütebilir. Ancak birden fazla koşucu aynı anda çalışabilir.
GitHub Actions'ın en önemli özelliklerinden biri sağladığı esnekliktir. İşte GitHub Actions'ın sunduğu avantajlar:
Her teknolojide olduğu gibi GitHub Actions’ın da sınırlamaları vardır. GitHub Actions birçok soruna çözüm olabilse de dikkate alınması gereken bazı dezavantajları şunlardır:
GitHub Actions, iş akışını tanımlamak için YAML sözdizimini kullanır. Her iş akışı, kod deposunda, .github/workflows adlı bir dizinde ayrı bir YAML dosyası olarak depolanır. GitHub Actions’da iş akışı oluşturmak için şu adımlar takip edilir:
1. Depoda .github/workflows/ iş akışı dosyalarını depolamak için bir dizin oluşturulur.
2. Dizinde .github/workflows/ adında yeni bir dosya oluşturulur. learn-github-actions.yml ve aşağıdaki kod eklenir.

3. Bu değişiklikler kaydedilir ve GitHub deposuna aktarılır.
GitHub nispeten açık kaynaklı bir platform olduğundan ve GitHub Actions iş akışları bildirimsel YAML'de tanımlandığından, GitHub Actions kodunu diğer platformlarla entegre etmenin birkaç yolu vardır:
Piyasada CI/CD sürecini otomatikleştiren ve bu nedenle GitHub Actions’a rakip olan başka araçlar da vardır. İşte GitHub Actions ve rakipleri:
GitHub Actions ve Jenkins, her ikisi de yüksek performanslı ve popüler CI/CD çözümleridir. Her birinin de avantajları ve dezavantajları vardır.
GitHub Actions, Jenkins’e göre çok daha kullanıcı dostudur. Github Actions developer’lar için daha düz bir öğrenme eğrisine sahipken Jenkins'in öğrenme eğrisi daha yüksektir. Bununla birlikte GitHub Actions daha yenidir ve topluluk desteği açısından sınırlamalara sahiptir. Jenkins ise daha uzun süredir piyasada olduğundan çok daha sağlam çözümler sunar.
GitHub Actions ve GitLab'ın ikisi de son derece popülerdir. Eğer işletme DevOps operasyonlarının ötesinde bir araç arıyorsa Github Actions daha iyi bir alternatiftir.
GitHub Actions'ın ücretsiz sürümü, sunduğu hesaplama süresi açısından CircleCI'den biraz daha kısıtlayıcıdır. Ayrıca, GitHub Actions harici depolarla değil, yalnızca GitHub'dakilerle uyumludur. Buna karşı CircleCI daha uyumludur ve aralarında GitHub ve Bitbucket'in da bulunduğu birçok depoyu destekler. Ancak GitHub Actions, CircleCI'ye göre GitHub depolarıyla daha sıkı bir şekilde entegre olduğundan nispeten daha güvenlidir.
🚫 İşleriniz genel depolardaki standart GitHub tarafından barındırılan çalıştırıcılarda yürütülüyorsa veya çalıştırıcılarını kendin barındırıyorsan GitHub Actions ücretsizdir.
💰 Özel bir depo kullanıyorsan, belirli bir miktarda depolama ve işlem süresine ücretsiz olarak sahip olursun. Ancak bu sınırları aştığında ödeme yapman gerekir.
AI Business Series: Pazarlama, finans ve mühendislik dünyasında yapay zekânın dönüşüm gücünü keşfetmek; sektör liderlerinin başarı hikâyeleriyle geleceğin yetkinliklerini öğrenmek için bir araya geldiğimiz online etkinlik serisidir.
4+ yıl deneyimliysen ING Hubs Türkiye Senior Data Scientist Hiring Day seni bekliyor!
Bilişim Sektörünün En İlham Verici Kadınlarının Hikayelerini Dinle, Kariyerine Yön Ver!
Farklı alanlardan konuklarımızın katılımlarıyla gerçekleşen Codecast’te yazılım ve veri bilimi yöneticilerini Podcast serimizde konuk ediyoruz!
Codecast
Python ile Programlamaya Giriş Eğitimi! 🧑💻
Yazılıma sıfırdan başlamanın en uygulamalı yolu burada. 🖐️ Python ile Programlamaya Giriş eğitiminde gerçek projelerle ilerle, sertifikanı kazan!
Hemen İncele!Kodla, yarışmalara katıl, kendini geliştir. Coderspace seni en uygun şirketlerle eşleştirsin 🚀
Ücretsiz kayıt ol