บูรณาการอย่างต่อเนื่อง (กับโครงการ iOS และ Android) [ปิด]


10

ฉันกำลังพยายามเปลี่ยนแปลงในเชิงบวกใน บริษัท ของฉันและหนึ่งในการเปลี่ยนแปลงคือการนำการบูรณาการอย่างต่อเนื่อง เราพัฒนามือถือ (iOS / Android) ดังนั้นฉันต้องการ CI ที่รองรับโครงการทั้งสองประเภท อย่างที่คุณสามารถบอกได้ว่าฉันไม่ค่อยรู้เรื่อง CI มากนัก แต่ฉันก็ลองไปนิดหน่อยแล้วฉันก็คิดว่าเจนกินส์และฮัดสันเป็นที่นิยมที่สุดสองคน

ฉันมีคำถามสองส่วน

  1. คุณคิดกับเจนกินส์ไหม?
  2. มีวิธีใดบ้างที่ CI จะตรวจสอบว่าโปรเจ็กต์กำลังรวบรวม
    มาตรฐานการเข้ารหัส (เช่นข้อต่อหลวมเป็นต้น) หรือไม่?

3
"เจนกินส์และฮัดสันเป็นสอง" ...อืมคุณรู้ว่าเจนกินส์เป็นชื่อใหม่สำหรับฮัดสัน ?
ริ้น

1
ฉันไม่รู้จริง ๆ ! อย่างที่ฉันพูดฉันใหม่กับ CI และมีประสบการณ์ 0 Soooo .. J & H สิ่งเดียวกัน .. เดาว่าทำให้ตัวเลือกของฉันแคบลง :)
paxx

นอกจากนี้ยังมี Team City, Cruise Control และอื่น ๆ
Kyle Hodgson

@gnat: ดีฉันคิดว่าเจนกินส์เป็นทางแยกของฮัดสัน ฉันคิดว่าฮัดสันยังคงอยู่ที่นั่น: hudson-ci.orgจัดการโดย Oracle เจนกินส์เป็นทางเลือกที่ดีมากสำหรับคนส่วนใหญ่ที่อพยพ ขออภัยถ้าฉันผิด ...
dbalakirev

คำตอบ:


9

ประการแรกคุณอาจต้องการดูTeamCityเป็นตัวเลือกอื่นสำหรับเซิร์ฟเวอร์ของคุณ

ในมุมมองของฉัน (แม้ว่าฉันจะมีประสบการณ์กับเจนกินส์น้อยกว่ากับ TeamCity) ทั้งคู่เป็นเครื่องมือที่ยอดเยี่ยมและมีความสามารถมาก - ฉันมีความสุขในสภาพแวดล้อมที่ใช้

ตกลงเพื่อไปที่เนื้อของปัญหาคือ

มีวิธีใดบ้างที่ CI จะตรวจสอบว่าโปรเจ็กต์กำลังรวบรวมมาตรฐานการเข้ารหัส (เช่นข้อต่อหลวมเป็นต้น) หรือไม่?

ในระดับพื้นฐานที่สุดทั้งหมดที่เซิร์ฟเวอร์ CI เรียกใช้สคริปต์จากนั้นตีความและนำเสนอผลลัพธ์ของการเรียกใช้สคริปต์นั้น - ดังนั้นหากคุณสามารถสคริปต์ได้เซิร์ฟเวอร์ CI ของคุณอาจจะรันและถ้าคุณสามารถจัดรูปแบบผลลัพธ์ได้อย่างเหมาะสม เซิร์ฟเวอร์ CI อาจตีความและรายงานผลได้

ของหลักสูตรการสร้างเซิร์ฟเวอร์หลักที่มีอยู่แล้วความสามารถในการพูดคุยกับ / การบูรณาการที่มีจำนวนมากของเครื่องมือที่นิยม - ดังนั้นจริงๆคำถามจะกลายเป็นสิ่งที่เครื่องมือที่คุณใช้ในการตรวจสอบมาตรฐานการเข้ารหัสของคุณและไม่ว่าบูรณาการกับทางเลือกของเซิร์ฟเวอร์ CI

ใช่เซิร์ฟเวอร์ CI นำมาซึ่งเกมมากขึ้นในแง่ของระบบอัตโนมัติมากกว่าเพียงแค่เรียกใช้สคริปต์ - แต่ในตอนท้ายของวันนั่นคือสิ่งที่มันทำ


เพื่อให้ชัดเจน - ฉันรู้ว่าเซิร์ฟเวอร์การสร้างทำมากกว่าเพียงแค่เรียกใช้สคริปต์กระบวนการอัตโนมัติของกระบวนการ (และโดยเฉพาะอย่างยิ่งการรวมกับ (D) VCS) ที่เพิ่มคุณค่า - แต่ในการตอบ "สิ่งที่ฉันต้องการสำหรับ คำถามเกี่ยวกับการสร้างเซิร์ฟเวอร์คำตอบคือ "เซิร์ฟเวอร์และสคริปต์" ทุกอย่างอื่นไหลจากที่นั่น


ฉันใช้ TeamCity ค่อนข้างประสบความสำเร็จในฐานะเซิร์ฟเวอร์ CI ของฉันสำหรับ iOS ฉันคิดว่ามันเป็นเกมง่ายๆที่จะใช้กับ Android
sylvanaar

5

ฉันขอแนะนำ TeamCity เป็นอันดับสอง - เป็นผลิตภัณฑ์ที่ยอดเยี่ยม ฉันไม่สามารถพูดคุยกับ Android ได้เนื่องจากฉันไม่มีเวลานั่ง แต่ฉันก็ประสบความสำเร็จในการทำโครงการ iOS ที่ทำงานใน CI ด้วยสองบทความ ( 1 2 )

ส่วนที่ยากที่สุดนั้นเกี่ยวข้องกับการให้ mac รันการสร้างอัตโนมัติด้วยพวงกุญแจที่เหมาะสมและคุณสามารถสร้างแอปที่ลงชื่อซึ่งคุณสามารถปรับใช้กับ iDevice แทนที่จะเป็นตัวเลือกอีมูเลเตอร์เท่านั้น


เป็นไปได้หรือไม่ที่จะติดตั้ง TeamCity บนเซิร์ฟเวอร์ linux และจัดการโครงการ iOS ได้
paxx

1
TeamCity ไม่สำคัญมันเป็นเอเจนต์บิลด์ และสำหรับ iOS คุณต้องปรับใช้กับ mac มีเพียง toolchain เท่านั้น คุณอาจจะทำสิ่งต่าง ๆ โดยใช้ GNUStep แต่ความสงสัยของฉันคือคุณมีเวลาที่น่าผิดหวังกับสิ่งที่ไม่สำคัญ
ไวแอตต์บาร์เน็ตต์

2

ฉันได้สร้างเซิร์ฟเวอร์และสคริปต์ของ บริษัท ก่อนที่จะใช้ Jenkins ที่เราพัฒนาแอพ iOS อย่างที่หลาย ๆ คนบอกว่าเซิร์ฟเวอร์ CI นั้นค่อนข้างเรียบง่ายและฉันชอบ Jenkins เพราะมันฟรี / โอเพนซอร์สและมีปลั๊กอินมากมายเช่นรายงานความครอบคลุมของการเผยแพร่หรือการรวม GitHub

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