TL; DR: Bạn có biết bất kỳ nhà cung cấp CI / CD được lưu trữ nào cho iOS, những người có trung tâm dữ liệu / hộp xây dựng của họ ở Châu Á hoặc ít nhất là Châu Âu không? (Điểm thưởng nếu họ cung cấp cả bản dựng và triển khai, nhưng bản dựng là MVP.)
Câu chuyện ngược
Chúng tôi đang chạy CI / CD ở quy mô cho iOS và Android: chúng tôi chạy hơn 10 bản dựng đồng thời để kiểm tra / xác minh các nhánh Yêu cầu Hợp nhất của chúng tôi và để triển khai các bản dựng thân cây cho người kiểm tra và các bên liên quan. Chúng tôi đang sử dụng nhà cung cấp SaaS / đám mây, chúng tôi khá hài lòng với ... ngoại trừ vị trí của họ.
Chúng tôi đang ở Châu Á, là nguồn của chúng tôi. Khách hàng đang ở trong một ngành được kiểm soát chặt chẽ và chiến đấu hết mình để giữ nguồn tại chỗ, vì họ nghĩ rằng cơ quan quản lý của họ chưa thể xử lý nguồn trong đám mây. Hãy chấp nhận tiền đề này. Tôi hiểu tại sao họ cần phải từ bỏ nó. Nhưng bây giờ ... giả sử họ không thể.
Điều đó có nghĩa là: nguồn ở Châu Á, nhưng các nhà cung cấp CI / CD xây dựng nó dường như đều ở Mỹ (Circle, Buddybuild, v.v.). Băng thông xuyên Thái Bình Dương hút, đặc biệt là trong ngày làm việc châu Á. Thời gian của mỗi bản sao trước mỗi lần xây dựng tăng vọt lên> 60 phút trong phần lớn ngày làm việc.
Xuất hiện tại chỗ cho CI / CD sẽ khá dễ dàng cho các bản dựng Android, trên các thùng chứa docker. Nhưng iOS là vấn đề. Bạn cần phải đặt mình vào công việc dạy mọi người quản trị OSX và duy trì một nhóm các hộp xây dựng hoạt động, hoặc bạn cần để các chuyên gia giải quyết vấn đề đó cho bạn.
GHI CHÚ:
- Tôi không yêu cầu khuyến nghị, cộng đồng SE! Đây là một câu hỏi kỹ thuật thực tế: các dịch vụ nhất định, đáp ứng các yêu cầu kỹ thuật nhất định, có sẵn trong một địa lý nhất định không?
- Chúng tôi biết rằng MacStadi có thể cung cấp máy MacOS VM ở Ireland. Nhưng điều đó có nghĩa là bạn phải quản trị toàn bộ quy trình CI của riêng bạn, cộng với rất nhiều nhiệm vụ quản trị hệ thống cấp thấp mà chúng tôi muốn tránh. Nó cũng có nghĩa là tách biệt xây dựng từ triển khai, chắc chắn. Nhưng độ trễ dường như được chấp nhận.
- Chúng tôi biết những người khác có nền tảng CI / CD trên đám mây gần chúng tôi hơn ... nhưng không có hỗ trợ iOS / MacOS.
- Chúng tôi biết rằng các bản sao nông đòi hỏi ít băng thông hơn, điều này sẽ giảm thiểu vấn đề, nhưng chúng cũng có các biến chứng khác có nghĩa là nhà cung cấp hiện tại của chúng tôi chưa hỗ trợ. Và họ không hoàn toàn giải quyết vấn đề trong mọi trường hợp.
- Chúng tôi đã thử nghiệm sử dụng gương GitHub ngoài cơ sở, giải quyết một số vấn đề, nhưng không giải quyết được các vấn đề quy định. Nó cũng không hoạt động với nhiều webhook và đặc biệt là các webhook Yêu cầu Hợp nhất rất quan trọng đối với đường ống CI của chúng tôi cho mã mới. Chúng tôi có thể tạo một tác nhân giám sát các webhooks, sau đó chuyển tiếp các lệnh API đến các nhà cung cấp dịch vụ khác ... nhưng điều đó thực sự nhảy qua các vòng, cộng với việc chúng tôi đã tạo ra mã mới đáng kể để duy trì.