10 puan yazan ironlung 2023-10-24 | Henüz yorum yok. | WhatsApp'ta paylaş
  • Jira'dan GitLab'a geçiş yapan açık kaynak projesinin deneyimleri
  • Neden
    • 15 Şubat 2024 itibarıyla Jira sunucu ürünleri desteğinin sona ereceği haberi
    • Seçilebilecek alternatifler: Pivotal Tracker, IBM Engineering Requirements Management DOORS Next, Rally Software, GitLab, ServiceNow Agile Development, GitHub vb.
    • Jira sunucusunu kullananlar ne yapacak? GitLab'a geçiş yapan bir proje mi oluştursak?
  • Jira → GitLab geçiş özelliğinin mevcut durumu
    • GitLab'da Jira issue'larının title, description, label alanları kopyalanıyor
    • Geri kalan meta veriler description içine alınıyor
    • Jira User'ı GitLab User ile eşleştiren bir UI sunuluyor
  • Jira → GitLab geçiş kısıtları
    • Jira Integration ayarının yapılması zorunlu
    • Yalnızca Jira API v3 sağlanıyor
    • Jira ve GitLab farklı sözdizimleri kullandığı için birebir doğru geçiş olmuyor
      • description içindeki 'Heading 1', 'Heading 2', 'Heading 3', 'Numbered', 'SubNumbered', 'SubNembered 2' olarak aktarılıyor
      • GitLab Markdown sözdizimini kullanırken Jira ADF(Atlassian Document Format) adlı kendine özgü bir format kullanıyor; fark buradan kaynaklanıyor
    • issue type, priority, label da tam doğru şekilde taşınmıyor
  • Şirket içi geçiş projesinin yönü
    • Hedefler:
      • Jira epic'lerinin nereye, issue'ların nereye gitmesi gerektiğine karar vermek
      • title, description, label, component gibi Jira issue alanlarının GitLab'da hangi alanlara gideceğini belirleyerek somut bir geçiş yürütmek
    • Jira epic'lerini GitLab epic'lerine taşırken, alt gruptaki alt epic'lere mi yoksa üst gruptaki epic'lere mi taşınacağını kullanıcının seçebilmesi için esneklik sağlandı
    • Issue'lar issue olarak taşınacak şekilde tasarlandı
    • Sınırlamalar:
      • Alt görevleri de alt görev altındaki issue'lardaki görevler olarak taşımak istedik, ancak GitLab'ın task API'si bunu desteklemiyor
      • Jira'da çok fazla alan var;
        • description, label, component gibi basit işlevler GitLab'da da desteklendiği için taşınabiliyor
        • Ama!!! time tracking, güvenlikle ilgili alanlar GitLab'da desteklenmediği için taşınamıyor
    • Nihai tasarım
      • Jira project → GitLab project
      • Jira epic → GitLab epic
      • Jira issue → GitLab issue
      • Jira'nın title, description, version, story point, resolution alanları GitLab'a doğrudan eşleniyor
      • Jira resolution → GitLab closed, Jira story point → GitLab weight
      • Jira issue type, component, status, priority → GitLab label, scoped label kullanılarak taşınıyor
      • custom field desteği de geliştirildi
      • description formatı tamamen regular expression ile parse edilip içerik Markdown'a dönüştürülerek taşınıyor
    • Proje sonuçları
      • Jira'nın saf kullanım modunu taşımak işe yarar durumda
      • Eklentiler ve otomasyonlar hariç tutulursa geçiş iyi çalışıyor
      • Çoğu şey GitLab Label ile eşleniyor
      • Hedef üst grupta epic oluşturuluyor
      • Jira'da bağlı issue link'leri GitLab'a da taşınıyor
      • Jira wiki markup, Markdown dönüştürücü ile çevriliyor
      • Issue'lara attachment ve comment de ekleniyor
      • Çok fazla custom field oluşturulursa geçiş sırasında zorlaşıyor
    • İyi yapılan noktalar
      • Önce cloud sürümü yapıldı, ardından server sürümü eklendi
      • Yalnızca custom field eşlemesini ayarlayarak geçişin büyük kısmı yapılabiliyor
      • Paralel işleme uygun şekilde yapılandırılarak, yapılmadığı duruma göre geçiş 3 kattan fazla hızlandırıldı
      • Güncel trende uygun olarak yapılandırma yönetimi YAML tabanlı yapıldı
      • Herkesin geçiş yapabilmesi için açık kaynak olarak sunuldu
      • Paket dağıtımı Brew ile yapıldı
    • Geliştirilebilecek noktalar
      • Jira sunucusundan geçiş yapılırken
        • Sprint eşlemesinin ayrıca eklenmesi gerekiyor
        • Cascade field için bir yöntem yok
      • Jira cloud'dan geçiş yapılırken
        • Eklenti verilerinin taşınması gibi çok sayıda gerçek kullanım senaryosunda test gerekiyor
    • İlgili açık kaynak proje sayfaları:

Henüz yorum yok.

Henüz yorum yok.