Ini, pada dasarnya, masalah penskalaan. Anda memisahkan pekerjaan Anda menjadi beberapa modul, yang dapat berupa proyek yang berbeda dan / atau fungsi yang berbeda dari produk Anda.
Anda akan memiliki tim yang mencakup set modul tersebut. Masing-masing tim akan memiliki siklus CI diatur untuk lingkup mereka, dan hanya setelah siklus masing-masing akan berlalu, kode akan didorong untuk menguasai repo, di mana siklus master CI akan dijalankan.
Siklus master CI kemungkinan akan berbeda dari siklus CI tingkat tim dalam aspek ini:
- Siklus CI tingkat tim tidak harus membangun kode seluruh perusahaan, hanya modul-modul yang menjadi tanggung jawab mereka dan modul-modul dependen. Jika ada dua modul yang sepenuhnya independen dan di tim yang berbeda, mereka tidak akan menjadi bagian dari siklus CI tim lain.
- Siklus CI tingkat tim dapat memiliki tes otomatis yang lebih rinci daripada siklus master CI. Siklus Master CI akan memiliki tes kewarasan dan tes regresi yang akan, tergantung pada ukuran solusi master, dijalankan setiap hari atau bahkan setiap minggu, karena tes ini kadang-kadang bisa memakan waktu lebih dari 24 jam untuk dilaksanakan.
Yang harus Anda lakukan dengan pendekatan ini adalah memberikan dorongan otomatis dari repo lokal ke repo pusat setelah siklus CI lokal berlalu, jangan sampai pengembang Anda menghabiskan banyak waktu untuk mendorong kode ke repo pusat.