โครงสร้างพื้นฐานการรวมอย่างต่อเนื่องสำหรับโครงการ iOS หลายโครงการ


13

ในฐานะนักพัฒนา iOS ฉันต้องการสร้างโครงสร้างพื้นฐาน CI และ CCQ (= คุณภาพรหัสต่อเนื่อง) สำหรับโครงการ iOS ที่เรามีในการพัฒนา เราใช้ Jenkins และ SonarQube สำหรับโครงการบนเว็บและ Android เกือบทั้งหมดแล้ว (โดยใช้โครงการ VM foreach การติดตั้งและกำหนดค่า CI และ CCQ เป็นไปโดยอัตโนมัติ) และใช้งานได้ดี แต่สำหรับโครงการ iOS เจนกินส์จำเป็นต้องสร้างบนคอมพิวเตอร์ที่ใช้ macOS ดังนั้นฉันไม่แน่ใจว่าฉันมีโซลูชันที่สมบูรณ์แบบสำหรับสิ่งนั้น

  • ฉันกำลังมองหาวิธีแก้ปัญหาการจำลองเสมือน macOS สำหรับแต่ละโครงการเพื่อสร้าง macOS เสมือนและติดตั้ง Jenkins เป็นทาสที่นั่นเพื่อจัดการงานสร้าง โซลูชันดูสมบูรณ์แบบ แต่ดูเหมือนว่าผิดกฎหมายที่จะมี VM มากกว่า 2 เครื่องที่ทำงานกับ macOS (และแน่นอนว่าเฉพาะในคอมพิวเตอร์ Mac เท่านั้น) http://images.apple.com/legal/sla/docs/macOS1012.pdf -> ประเด็นที่ 2.B. ดังนั้นนี่ไม่ใช่วิธีแก้ปัญหาสำหรับกรณีของฉัน
  • อีกวิธีแก้ไขปัญหาทั่วไปที่ฉันได้อ่านคือมีคอมพิวเตอร์ Mac (อาจเป็น MacMini) ที่จะจัดการงานสร้างทั้งหมดสำหรับทุกโครงการ คุณคิดอย่างไรเกี่ยวกับการใช้งานนี้ มันสามารถจัดการโครงการได้กี่โครงการ นักพัฒนาอาจต้องทำการกำหนดค่าบางอย่างในโครงการของตนเอง (โดยเฉพาะใน SonarQube) ปลอดภัยหรือไม่?
  • เราสามารถมีอินสแตนซ์ Jenkins และ SonarQube หลายเครื่องบนเครื่องเดียวกันโดยใช้พอร์ตที่แตกต่างกันได้หรือไม่? นี่เป็นวิธีแก้ปัญหาที่ต้องพิจารณาหรือไม่หรือฉันกำลังพูดเรื่องไม่สมเหตุสมผลอยู่ใช่ไหม
  • มีวิธีแก้ไขปัญหาอื่น ๆ ที่ทำงานได้ดีกว่าวิธีข้างต้น :)

หมายเหตุ: ฉันไม่ได้ยึดติดกับ Jenkins + SonarQube duo หากมีเครื่องมืออื่นใดที่ดีกว่าที่เหมาะสำหรับการพัฒนา iOS โปรดแชร์พวกเขากับฉัน


@ Pierre.Vriens: คุณภาพของรหัสต่อเนื่อง ฉันไม่แน่ใจว่านี่เป็นคำที่ใช้โดยทั่วไปหรือแค่ใช้ SonarQube :)
ด่าน Bodnar

คำตอบ:


10

มีวิธีแก้ไขปัญหาอื่น ๆ ที่ทำงานได้ดีกว่าวิธีข้างต้น :)

สำหรับเจนกินส์อาจจะไม่ใช่เพราะปัญหาเรื่องใบอนุญาตที่คุณกล่าวถึง (คุณต้องเรียกใช้ macOS บนฮาร์ดแวร์แบรนด์ของ Apple) หากคุณสามารถทำงานกับมันได้มันเป็นทางออกแน่นอน

ถ้าไม่เช่นนั้นฉันขอแนะนำให้คุณตรวจสอบระบบการรวมอย่างต่อเนื่องของ iOS ที่โฮสต์ซึ่งคุณไม่ต้องจัดการกับฮาร์ดแวร์ / สิทธิ์ใช้งานของ Apple บริการจะจัดการให้คุณเช่นhttps: //www.bitrise io

นอกจากนี้ยังมีบริการที่คุณสามารถเช่า Apple HW และคุณสามารถกำหนดค่าได้ตามที่คุณต้องการhttps://www.macstadium.comเป็นหนึ่งในนั้น (อาจเป็นบริการที่ใหญ่ที่สุด)


1
ขอบคุณสำหรับการตอบกลับ ฉันยังคงมองหาวิธีการแก้ปัญหา ฉันคิดว่า MiniMac เป็นวิธีที่จะไปได้ในตอนนี้
Dan Bodnar

2

ฉันคิดว่าคุณยังสามารถดูการทำงานแบบเสมือนที่มีน้ำหนักเบาใหม่สำหรับ MacOS เรียกว่าแองก้า Anka Build สามารถทำให้คุณสามารถตั้งค่าโครงสร้างพื้นฐานเสมือนจริงบนฮาร์ดแวร์ Apple และช่วยให้คุณสามารถจัดเตรียม macOS Vms ตามความต้องการจาก Jenkins

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.