Harici Hizmetlerle Entegrasyon
GitHub Actions iş akışlarınızı üçüncü taraf izleme, günlük kaydı ve olay yönetimi araçlarına bağlayın.
Harici Hizmetlerle Entegrasyon, CoddyKit'te ücretsiz bir DevOps Bootcamp dersidir. Bu, 4 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, DevOps Bootcamp öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. DevOps Bootcamp kursu toplamda 4 dersten oluşur.
İşlem Hatlarınızı Bağlayın
GitHub Actions'ı harici hizmetlerle entegre etmeye hoş geldiniz! Modern yazılım geliştirme, birçok aracın birlikte çalışmasına dayanır.
CI/CD işlem hatlarınızı bu araçlara bağlamak iletişimi otomatikleştirmeye, verileri merkezileştirmeye ve genel ekip verimliliğini artırmaya yardımcı olur.
- Bildirimler: Slack veya Teams'te uyarılar alın.
- Sorun Takibi: JIRA kayıtlarını otomatik olarak oluşturun.
- İzleme: Verileri Datadog veya Splunk'a gönderin.
Web Kancaları: Temel Bağlantı
Birçok harici hizmet, bilgi almak için temel yöntem olarak web kancalarını kullanır. Web kancasını, belirli bir olay gerçekleştiğinde bir uygulamadan diğerine gönderilen otomatik bir mesaj olarak düşünebilirsiniz.
GitHub Actions iş akışınız tamamlandığında, başarısız olduğunda veya belirli bir adımı gerçekleştirdiğinde, harici hizmet tarafından sağlanan web kancası URL'sine veriler içeren bir POST isteği gönderebilir. Bu istek, söz konusu hizmette bir eylemi tetikler.
Slack: Gerçek Zamanlı Uyarılar
İş akışınızın durumu hakkında gerçek zamanlı bildirimler almak kritik öneme sahiptir. Slack bunun için çok yaygın kullanılan bir araçtır.
GitHub Actions'tan Slack'e mesaj göndermek için genellikle bir Slack Gelen Web Kancası URL'sine ihtiyacınız olur. Bu URL'yi Slack çalışma alanınızın ayarlarından (örneğin 'Uygulamalar ve entegrasyonlar' bölümünden) oluşturabilirsiniz.
Önemli: Bu hassas URL'yi her zaman bir GitHub Gizli Dizisi olarak saklayın, kesinlikle doğrudan koda yazmayın!
Slack Uyarıları İçin İş Akışı
İş akışınızda basit bir curl komutunu kullanarak temel bir Slack bildirimi şu şekilde gönderebilirsiniz. Bu işlem, SLACK_WEBHOOK_URL adlı bir gizli dizide saklanan web kancası URL'sini kullanır.
Bu örnek, main dalına yapılan her kod gönderiminde sizi bilgilendirir.
name: Slack Notification Demo
on:
push:
branches:
- main
jobs:
notify:
runs-on: ubuntu-latest
steps:
- name: Send Slack Notification
run: |
curl -X POST -H 'Content-type: application/json' \
--data '{"text":"GitHub Actions workflow *${{ github.workflow }}* for commit `{{ github.sha }}` by _${{ github.actor }}_ on branch `${{ github.ref_name }}` has completed!"}' \
${{ secrets.SLACK_WEBHOOK_URL }}Marketplace Eylemleriyle Sadeleştirin
curl işe yarasa da birçok entegrasyon, önceden hazırlanmış GitHub Marketplace eylemleri kullanılarak daha kolay hâle getirilebilir. Bu eylemler, belirli hizmetlerle etkileşim kurma mantığını kapsülleyerek iş akışlarınızı daha düzenli ve okunabilir kılar.
İstediğiniz hizmete bağlanan eylemleri GitHub Marketplace'te arayabilirsiniz. Örneğin Slack, JIRA, Microsoft Teams ve daha birçok hizmet için çok sayıda eylem bulunur.
JIRA: Sorun Takibini Otomatikleştirme
JIRA gibi sorun takip sistemleriyle entegrasyon, aşağıdaki görevleri otomatikleştirebilir:
- Bir iş akışı başarısız olduğunda yeni bir hata kaydı oluşturma.
- Çekme isteği olaylarına göre mevcut sorunlara yorum ekleme.
- Kod işlem hattında ilerledikçe sorun durumlarını güncelleme.
Bu, geliştirme ve operasyon ekiplerinizin elle müdahale gerekmeden uyum içinde çalışmasına yardımcı olur.
JIRA Sorunları İçin İş Akışı
Bu örnek, belirli bir iş akışı (örneğin CI iş akışınız) başarısız olduğunda JIRA sorunu oluşturmak için yaygın kullanılan bir Marketplace eyleminden yararlanır. Kimlik doğrulama için GitHub Gizli Dizilerinin nasıl kullanıldığına dikkat edin.
workflow_run tetikleyicisi, bu iş akışının başka bir iş akışının tamamlanmasına tepki vermesini sağlar.
name: JIRA Issue on Failed Workflow
on:
workflow_run:
workflows: ["Your CI Workflow Name Here"]
types:
- completed
jobs:
create_issue:
if: ${{ github.event.workflow_run.conclusion == 'failure' }}
runs-on: ubuntu-latest
steps:
- name: Create JIRA Bug Ticket
uses: atlassian/github-jira-action@v2.1.0
with:
jira-base-url: ${{ secrets.JIRA_BASE_URL }}
jira-user-email: ${{ secrets.JIRA_USER_EMAIL }}
jira-api-token: ${{ secrets.JIRA_API_TOKEN }}
project: 'DEV'
issue-type: 'Bug'
summary: 'Workflow failed: ${{ github.event.workflow_run.workflow_name }}'
description: 'Workflow run URL: ${{ github.event.workflow_run.html_url }}\nFailed commit: ${{ github.event.workflow_run.head_sha }}'İzleme ve Günlük Kaydı Sistemlerine Bağlanma
Bildirimler ve sorun takibinin yanı sıra Datadog, Splunk, New Relic veya özel günlük toplayıcıları gibi gelişmiş izleme ve günlükleme araçlarıyla da entegrasyon kurabilirsiniz.
- Ölçümler: Derleme süreleri veya sınama sonuçlarıyla ilgili özel ölçümleri gönderin.
- Günlükler: Merkezi analiz için iş akışı günlüklerini iletin.
- İzleme: Dağıtım olaylarını uygulama performansına bağlayın.
Bu entegrasyonlar genellikle belirli API'leri veya araç sağlayıcıları tarafından sunulan özel Marketplace eylemlerini içerir.
Entegrasyonlarınızı Güvence Altına Alın
Harici hizmetlerle entegrasyon kurarken güvenlik en önemli konudur. Harici hesaplarınıza erişim sağlayan API anahtarları, belirteçler ve web kancası URL'leriyle sık sık çalışmanız gerekecektir.
Bu hassas kimlik bilgilerini saklamak için her zaman GitHub Gizli Dizilerini kullanın. Bunları kesinlikle doğrudan iş akışı dosyalarınıza yazmayın. Böylece yanlışlıkla açığa çıkmalarını önler ve kimlik bilgilerinizi güvende tutarsınız.
Hızlı Kontrol: Entegrasyon Güvenliği
GitHub Actions iş akışınızı bir API anahtarı kullanarak harici bir olay yönetimi sistemine bağlamanız gerekiyor. Bu API anahtarını iş akışınızda kullanmanın en güvenli ve önerilen yöntemi hangisidir?
Özet: Entegre İş Akışları
GitHub Actions iş akışlarınızı çeşitli harici hizmetlerle nasıl entegre edeceğinizi öğrendiniz!
- Web kancaları bu bağlantılar için yaygın kullanılan bir mekanizmadır.
- Slack ve JIRA, bildirimler ve sorun takibi için yaygın örneklerdir.
- GitHub Marketplace eylemleri karmaşık entegrasyonları kolaylaştırır.
- API anahtarları ve web kancası URL'leri gibi hassas kimlik bilgilerini güvenli biçimde yönetmek için her zaman GitHub Gizli Dizilerini kullanın.
Bu entegrasyonlar CI/CD işlem hatlarınızı daha güçlü hâle getirir ve ekibinizin daha geniş ekosistemiyle daha iyi bağlantı kurmasını sağlar.
Sıkça Sorulan Sorular
“Harici Hizmetlerle Entegrasyon” dersi ücretsiz mi?
Evet — “Harici Hizmetlerle Entegrasyon” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve DevOps Bootcamp kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. DevOps Bootcamp kursu toplamda 4 dersten oluşur.
“Harici Hizmetlerle Entegrasyon” dersinde ne öğreneceğim?
GitHub Actions iş akışlarınızı üçüncü taraf izleme, günlük kaydı ve olay yönetimi araçlarına bağlayın. DevOps Bootcamp ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
DevOps Bootcamp öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te DevOps Bootcamp, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 2. dersidir.
“Harici Hizmetlerle Entegrasyon” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu DevOps Bootcamp dersinde kod yazıp çalıştırabilir miyim?
Evet. Her DevOps Bootcamp dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- İşlem Hattı İzleme Stratejileri
- Harici Hizmetlerle Entegrasyon
- Bildirim ve Uyarı Kurulumu
- Yapılandırılmış Günlükleme ve Dağıtık İzleme