TL; DR: Вы знаете о каких-либо провайдерах CI / CD для iOS, у которых есть свои центры обработки данных / сборки в Азии или хотя бы в Европе? (Бонусные баллы, если они предоставляют как сборку, так и развертывание, но сборка - это MVP.)
Предыстория:
Мы используем CI / CD в масштабе для iOS и Android: мы запускаем более 10 одновременных сборок как для тестирования / проверки наших веток Merge-Request, так и для развертывания магистральных сборок для наших тестировщиков и заинтересованных лиц. Мы используем SaaS / облачного провайдера, которым мы очень довольны ... за исключением их местоположения.
Мы в Азии, как и наш источник. Клиент находится в жестко регулируемой отрасли и изо всех сил старается сохранить источник на месте, так как считает, что его регулятор пока не может обрабатывать источник в облаке. Пожалуйста, примите это предположение. Я понимаю, почему они должны отпустить это. Но пока ... предположим, что они не могут.
Это означает, что источник находится в Азии, но поставщики CI / CD, которые его создают, по-видимому, находятся в США (Circle, Buddybuild и т. Д.). Транс-тихоокеанская полоса пропускания - отстой, особенно в азиатский рабочий день. Время, затрачиваемое каждым клоном перед каждой сборкой, увеличивается до> 60 минут в течение большей части рабочего дня.
Быстрая сборка CI / CD будет довольно простой для сборок Android на док-контейнерах. Но проблема в iOS. Вам нужно либо научить людей администрировать OSX и поддерживать работоспособность парка сборок, либо позволить специалистам решить эту проблему за вас.
НОТЫ:
- Я не прошу рекомендации, сообщество SE! Это фактический технический вопрос: доступны ли определенные услуги, отвечающие определенным техническим требованиям, в определенной географии?
- Мы знаем, что MacStadium может предоставить виртуальные машины MacOS в Ирландии. Но это означает, что вы должны управлять своим собственным процессом CI, а также множеством низкоуровневых задач системного администратора, которых мы бы предпочли избежать. Это также означает отделение сборки от развертывания. Но задержка кажется приемлемой.
- Мы знаем других людей, которым ближе к нам облачные платформы CI / CD ... но без поддержки iOS / MacOS.
- Мы знаем, что мелкие клоны требуют меньшей пропускной способности, что могло бы смягчить проблему, но у них также есть другие сложности, которые означают, что наш текущий поставщик еще не поддерживает его. И они не полностью решают проблему в любом случае.
- Мы экспериментировали с использованием внешнего зеркала GitHub, которое решает некоторые проблемы, но не решает нормативные вопросы. Он также не работает со многими веб-хуками, особенно с веб-хайпами Merge-Request, которые имеют решающее значение для нашего конвейера CI для нового кода. Мы могли бы создать агента, который бы контролировал веб-хуки, а затем обязательно передавал бы команды API другим поставщикам услуг ... но это действительно прыгает через обручи, плюс мы бы создали существенный новый код для обслуживания.
Ответы:
Можно запустить Дженкинс на MacOS.
https://medium.com/@dixitakansha15/continuous-integration-in-ios-using-jenkins-8e081753cc72
https://savvyapps.com/blog/continuous-integration-ios-jenkins
источник
Вы видели https://buildkite.com/ и особенно этот пост для IOS https://medium.com/@Pinterest_Engineering/continuous-integration-for-ios-with-nix-and-buildkite-ef5b36c5292d ? Я считаю, что компания базируется в Австралии.
Моя компания использует Buildkite, и мне это очень нравится (мы ничего не строим для IOS / Mac); вам нужно настроить агент сборки, который может быть размещен на облачном провайдере или даже на голом железе. Сам сервер сборки CI / CD не размещен. Он поддерживает, я думаю, все Github Webhook.
источник
Проблема здесь заключается в том, что цена на пропускную способность в APAC в 10 раз выше, чем в США, поэтому, вероятно, вам следует умножить цены Buddybuild на 10 и попросить их у службы поддержки, помня о результатах. Я только что сделал расчеты, предназначенные для предоставления вам услуг, и я получил около 8 тыс. В месяц за 10 сборок симов. Можете мне в личку, если вам интересно.
источник