Birden çok iOS projesi için Sürekli Entegrasyon altyapısı


13

Bir iOS geliştiricisi olarak, şu ana kadar geliştirdiğimiz iOS projeleri için bir CI ve CCQ (= Sürekli Kod Kalitesi) altyapısı oluşturmak istiyordum. Zaten Jenkins ve SonarQube'u neredeyse tüm Web ve Android projeleri için kullanıyoruz (bir VM foreach projesi kullanarak, CI ve CCQ'nun kurulumu ve yapılandırılması otomatiktir) ve harika çalışıyor. Ancak iOS projeleri için Jenkins'in macOS çalıştıran bir bilgisayarda derleme yapması gerekiyor, bu yüzden bunun için mükemmel bir çözüme sahip olduğumdan emin değilim.

  • MacOS'u sanallaştırmak için bir çözüm arıyordum. Her proje için, sanal bir macOS oluşturmak ve yapıları işlemek için Jenkins'i köle olarak kurmak. Çözüm mükemmel görünüyordu, ancak macOS ile çalışan 2'den fazla VM'ye sahip olmak yasal görünmüyor (ve elbette, yalnızca Mac bilgisayarda) http://images.apple.com/legal/sla/docs/macOS1012.pdf -> Madde 2.B. Yani bu benim durumum için bir çözüm değil.
  • Okuduğum bir diğer yaygın çözüm, tüm projeler için tüm yapıları işleyecek bir Mac bilgisayara (belki bir MacMini) sahip olmaktır. Bu uygulama hakkında ne düşünüyorsunuz? Kaç projeyi üstlenebilir? Geliştiricilerin kendi projelerinde (özellikle SonarQube'da) bazı yapılandırmalar yapmaları gerekebilir, güvenli mi?
  • Farklı bağlantı noktaları kullanarak aynı makinede birden fazla Jenkins ve SonarQube örneğimiz olabilir mi? Bu dikkate alınması gereken bir çözüm mü yoksa anlamsız mı konuşuyorum?
  • Yukarıdaki çözümlerden daha iyi başka uygun bir çözüm var mı :)?

Not: Jenkins + SonarQube duo'ya bağlı değilim, iOS geliştirme için daha uygun başka araçlar varsa, lütfen bunları benimle paylaşın.


@ Pierre.Vriens: Sürekli Kod Kalitesi. Bunun genel olarak kullanılan bir terim olup olmadığından emin değilim veya sadece SonarQube bunu kullanıyor. :)
Dan Bodnar

Yanıtlar:


10

Yukarıdaki çözümlerden daha iyi başka uygun bir çözüm var mı :)?

Jenkins için muhtemelen hayır, bahsettiğiniz lisans sorunları nedeniyle (Apple markalı donanımda macOS çalıştırmanız gerekir). Bununla çalışabilirseniz, bu kesinlikle bir çözümdür.

Değilse, Apple donanım / lisanslama ile uğraşmak zorunda olmadığınız, barındırılan bir iOS sürekli entegrasyon sistemini kontrol etmenizi öneririm, hizmet sizin için yönetir, örn. Https: //www.bitrise. io

Apple hw kiralayabileceğiniz hizmetler de var ve istediğiniz gibi yapılandırabilirsiniz, https://www.macstadium.com bunlardan biri (muhtemelen en büyüğü).


1
Yanıt için teşekkürler. Hala bir çözüm arıyorum. Bence bir MiniMac şimdilik böyle.
Dan Bodnar

2

Anka adında macOS için yeni hafif sanallaştırmaya da bakabileceğinizi düşünüyorum . Anka Build, Apple donanımında sanallaştırılmış bir altyapı kurmanızı ve Jenkins'ten isteğe bağlı macOS Vms sağlamanızı sağlayabilir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.