TL; DR: ¿Conoce algún proveedor de CI / CD alojado para iOS que tenga su centro de datos / cajas de compilación en Asia o al menos en Europa? (Puntos de bonificación si proporcionan tanto la construcción como la implementación, pero la construcción es el MVP).
Trasfondo:
Estamos ejecutando CI / CD a escala para iOS y Android: ejecutamos más de 10 compilaciones simultáneas tanto para probar / verificar nuestras sucursales de solicitud de fusión como para implementar compilaciones troncales para nuestros probadores y partes interesadas. Estamos utilizando un proveedor de SaaS / nube con el que estamos bastante contentos ... excepto por su ubicación.
Estamos en Asia, como es nuestra fuente. El cliente se encuentra en una industria altamente regulada y lucha duro para mantener la fuente en las instalaciones, ya que creen que su regulador aún no puede manejar la fuente en la nube. Acepta esta premisa. Entiendo por qué necesitan dejarlo ir. Pero por ahora ... suponga que no pueden.
Lo que eso significa es: la fuente está en Asia, pero los proveedores de CI / CD que la compilan aparentemente están en los Estados Unidos (Circle, Buddybuild, etc.). El ancho de banda trans-pacífico apesta, particularmente durante el día hábil de Asia. El tiempo que tarda cada clon antes de cada pico de construcción a> 60 minutos durante gran parte del día hábil.
Ir a las instalaciones para el CI / CD sería bastante fácil para las compilaciones de Android, en los contenedores acoplables. Pero iOS es el problema. Debe dedicarse al negocio de enseñar a las personas a administrar OSX y mantener operativa una flota de cajas de compilación, o debe dejar que los especialistas resuelvan ese problema por usted.
NOTAS
- Estoy no pedir recomendaciones, SE comunidad! Esta es una pregunta técnica objetiva: ¿ciertos servicios, que cumplen con ciertos requisitos técnicos, están disponibles en una determinada geografía?
- Sabemos que MacStadium puede proporcionar máquinas virtuales MacOS desnudas en Irlanda. Pero eso significa que debe administrar todo su propio proceso de CI, además de muchas tareas de administración del sistema de bajo nivel que preferimos evitar. También significa separar la construcción de la implementación, seguro. Pero la latencia parece ser aceptable.
- Conocemos a otras personas que tienen plataformas CI / CD en la nube más cercanas a nosotros ... pero sin soporte para iOS / MacOS.
- Sabemos que los clones poco profundos requieren menos ancho de banda, lo que mitigaría el problema, pero también tienen otras complicaciones que significan que nuestro proveedor actual aún no lo admite. Y no resuelven completamente el problema en ningún caso.
- Hemos experimentado con el uso del espejo GitHub fuera de las instalaciones, que resuelve algunos de los problemas, pero no aborda los problemas regulatorios. Tampoco funciona con muchos webhooks, y específicamente los webhooks Merge-Request que son críticos para nuestra canalización de CI para el nuevo código. Podríamos crear un agente que monitoree los webhooks, y luego transmita imperativamente los comandos API a los otros proveedores de servicios ... pero eso realmente está saltando a través de los aros, además de que habríamos creado un nuevo código sustancial para mantener.