En

WWDC2021, Apple presentó su nuevo servicio de creación en la nube para su IDE de desarrollo llamadoXcodeNube.La nube Xcode es una

integración continua(CI) servicio de compilación alojado en los servidores de Apple que permite a los equipos de desarrollo colaborar y automatizar los servicios de compilación y empaquetado de software para la configuración y compilación de software.La idea detrás de la integración continua es que un bot o un conjunto de bots monitorea los repositorios de código fuente en busca de cambios de código y luego, a intervalos específicos, recupera el código fuente, crea componentes de software automáticamente y los distribuye a las partes interesadas automáticamente.

Al utilizar CI, los desarrolladores y las empresas pueden acelerar los tiempos de compilación y distribución al permitir que otras computadoras administren el proceso de compilación manualmente.

Con CI, quedaron atrás los días en que los desarrolladores tenían que dedicar tiempo a realizar compilaciones manuales.

Piense en CI como un ingeniero de compilación automatizado: un bot que puede administrar todos los aspectos de la compilación y la distribución por usted.

Xcode Cloud build process.

Requisitos

Para utilizar Xcode Cloud debes cumplir con los siguientes requisitos:

  1. Estar inscrito en el Programa de Desarrolladores de Apple
  2. Utilice Xcode 14.0.1 o posterior
  3. Agregue su ID de Apple en la configuración de Xcode
  4. Tener un registro de aplicación para su aplicación en App Store Connect
  5. Conecte Xcode Cloud a su sistema de gestión de código fuente en línea

Costo

Apple ahora ofrece 25 horas de computación gratuitas para Xcode Cloud con cada cuenta de desarrollador de Apple.Hay horas de computación adicionales disponibles a razón de 100, 250 y 1000 horas de computación, que oscilan entre $49,95 y $399,99 por mes.

Complejidad

Tenga cuidado, usar Xcode Cloud no es trivial.Apple ha intentado facilitar el inicio de Xcode Could, pero esos esfuerzos fueron un fracaso.

Xcode Cloud es complejo y, para comprender completamente cómo usarlo, es posible que deba leer hastadiezo más secciones diferentes de la documentación para desarrolladores de Apple, y la documentación para desarrolladores de Apple ya es demasiado detallada y dispersa.

Es posible que te encuentres saltando de un enlace a otro a través de las páginas para desarrolladores de Xcode Cloud de Apple, sólo para descubrir que has recorrido la documentación hasta el momento que olvidaste qué tema te propusiste comprender.

App Store Connect es el portal web de Apple donde los desarrolladores y equipos administran los miembros del equipo, la configuración de aplicaciones, los detalles y la colaboración entre desarrolladores.Tanto para App Store Connect como para Xcode Cloud, necesitarás tener una cuenta de desarrollador de Apple y un ID de Apple para iniciar sesión.

Hay problemas con la cuenta, el equipo y los permisos, la instalación y configuración de la administración del código fuente y problemas con App Store Connect.

En particular, si tiene una ID de aplicación anterior en la sección Certificados, identificadores y perfiles de App Store Connect y no la configuró después del lanzamiento de Xcode Cloud, puede encontrar la pestaña Xcode Cloud en el portal App Store Connect simplementeno funcionará para esa aplicación:

Xcode Cloud failure on older App IDs.

Fallo de Xcode Cloud en ID de aplicaciones más antiguas.

Apple no tiene ninguna explicación actual para esto y su único recurso en este caso es eliminar primero la aplicación delTienda de aplicaciones, elimine el ID de la aplicación, luego cree uno nuevo con el mismo ID del paquete de aplicaciones y luego configure Xcode Cloud en App Store Connect para ese ID de la aplicación.

Este es un descuido ridículo e imperdonable por parte de Apple.

Peor aún, si tiene que eliminar y volver a crear el ID de la aplicación, probablemente también perderá todas las métricas y datos analíticos anteriores de la aplicación, y tendrá que volver a ingresar y volver a cargar todos los detalles, capturas de pantalla y películas de la aplicación.Conexión de la tienda de aplicaciones.

Usted o uno de los miembros de su equipo también deberá estar familiarizado con la administración de código fuente, como git, GitHub o uno de los otros sistemas de administración de código fuente compatibles.

Como mínimo, deberá leer la mayor parte de la documentación para:

  1. Conexión de la tienda de aplicaciones
  2. Certificados, identificadores y perfiles para App Store Connect
  3. Gestión de equipos y miembros para App Store Connect
  4. Gestión del código fuente de Xcode
  5. Canto y capacidades de Xcode
  6. Esquemas Xcode y uso compartido
  7. Acerca de la integración y entrega continua con Xcode Cloud
  8. Configurando Xcode Cloud para tu equipo
  9. Hacer que las dependencias estén disponibles para Xcode Cloud
  10. Requisitos para usar Xcode Cloud
  11. Requisitos de control de fuente
  12. Configurando su primer flujo de trabajo de Xcode Cloud

Además, Apple cambió el sistema de compilación de Xcode en Xcode 10, por lo que si aún no está familiarizado con esos cambios, deberá leer la página.Notas de la versión del sistema de compilación para Xcode 10enNotas de la versión de Xcode 10.

Prepárate para pasar horas o inclusodíasrevisando la documentación para desarrolladores de Apple.

Requisitos del proyecto y del espacio de trabajo

Hay una larga lista de cosas que debes tener configuradas en tu proyecto o espacio de trabajo para poder usar Xcode Cloud.La lista es enorme, por lo que no entraremos en ella aquí.

Una vez que su proyecto cumpla con los requisitos, debe configurar Xcode Cloud para acceder a la cuenta de administración del código fuente de su proyecto en GitHub, GitLab, BitBucket o un servidor BitBucket.Xcode Cloud requiere un sistema SCM habilitado para red basado en git para funcionar.

Si su proyecto tiene un administrador SCM (Gestión de código fuente), pídale que configure Xcode Cloud y la cuenta de su equipo de desarrollo para acceder a su cuenta SCM en Xcode Cloud, utilizando uno de los servicios SCM mencionados anteriormente.

Connecting Xcode Cloud to GitHub.

Conectando Xcode Cloud a GitHub.

Apple también proporciona esta advertencia en la página de requisitos de Xcode Cloud sobre el uso de herramientas de terceros que generan o modifican proyectos o espacios de trabajo de Xcode:

Importante
Xcode Cloud requiere un proyecto o espacio de trabajo Xcode consistente que esté siempre presente.Si utiliza una herramienta de terceros que genera o edita dinámicamente su proyecto o espacio de trabajo, la configuración inicial de Xcode Cloud y las compilaciones posteriores pueden fallar.

Si aún no ha conectado Xcode Cloud a su sistema SCM, cuando abra un proyecto Xcode cuyo ID de aplicación y ID de paquete se hayan configurado en App Store Connect, es posible que vea la siguiente alerta en Xcode la próxima vez que abra su proyecto Xcode.:

Profundizando en los detalles de construcción

Una vez que haya revisado y comprendido toda la información para desarrolladores de Xcode Cloud y App Store Connect, haya conectado Xcode Cloud a GitHub u otro servicio SCM en la nube compatible y haya configurado su ID de aplicación para usar Xcode Cloud, puede comenzar a usarlo desde Xcode.sí mismo.

Como servicio de CI, Xcode Cloud le permite especificar repositorios de código fuente para monitorear, incluidas qué ramas usar, configurar compilaciones, ejecutar y monitorear compilaciones, y verificar compilaciones en busca de errores.El bot de Xcode Cloud le permite configurar cuándo ejecutar compilaciones, monitorearlas y automatizar cuándo distribuirlas utilizando la aplicación y el servicio de distribución de compilaciones TestFlight de Apple.

Por ejemplo, puede configurar bots de Xcode Cloud para ejecutar una compilación nocturna, así como compilaciones en hitos específicos del proyecto, cuando ocurren confirmaciones del código fuente o solo cuando ocurren cambios en ciertas ramas en los repositorios.

Los bots de Xcode Cloud pueden indicarle cuándo y si falla una compilación, qué la causó y quién fue el responsable.

Xcode Cloud Overview pane in Xcode.

Panel de descripción general de Xcode Cloud en Xcode.

Una vez que haya configurado sus bots de Xcode Cloud, las compilaciones se ejecutan automáticamente en los momentos que haya indicado y ya no tendrá que preocuparse por crear software: Xcode Cloud se encarga de todas las compilaciones por usted.

La versión actual de Xcode Cloud tiene la capacidad de iniciar sesión en sus repositorios de GitHub una vez que lo autorice y recuperar el código fuente para compilarlo automáticamente de forma privada en los servidores Xcode Cloud de Apple.Todas las descargas y compilaciones de código se realizan en los servidores de Apple, por lo que no tiene que preocuparse por configurar las máquinas de compilación para que actúen como servidores de compilación.

También puede revisar todos los estados de compilación y errores de equipos completos o solo para usted haciendo clic en el"Mío"en la pestaña Resumen de compilación de Xcode.

Use the

Utilice la pestaña "Mío" para ver solo sus resultados.

Usando Xcode Cloud desde Xcode

Una vez que se hayan solucionado todos los problemas de configuración y documentación, Appletienehizo que Xcode Cloud fuera bastante fácil de usar desde la aplicación Xcode IDE.También puede ver y configurar algunos detalles de Xcode Cloud desde el portal web App Store Connect de Apple para desarrolladores.

Para comenzar con Xcode Cloud en el IDE de Xcode de suImpermeable, inicie Xcode, luego seleccioneXcode Cloud->Crear flujo de trabajo...desdeProductomenú en la barra de menú en la parte superior de la pantalla:

Tenga en cuenta que hasta que el ID de la aplicación, el equipo y la configuración de firma de un proyecto Xcode, y la información de SCM estén conectados a Xcode Cloud, elNube XcodeEl elemento del menú no aparece en Xcode.A continuación, en el Editor de proyectos de Xcode en el lado izquierdo de la ventana de su proyecto o flujo de trabajo, seleccione el

Nubepestaña al lado deLocalpestaña.Esto cambia la vista en Xcode a la vista de Xcode Cloud.

En la vista de la nube, puede ver todos los flujos de trabajo y tareas de compilación para el proyecto actual.También puede ver los resultados de compilaciones recientes en esta vista.

También hay unComenzar a construira la derecha de la vista de la nube para comenzar a ejecutar las compilaciones inmediatamente.La vista del diseño de compilación en App Store Connect es similar en la web.

Si una compilación falla debido a errores, seReconstruirEl botón aparece en el panel de descripción general.

Flujos de trabajo de la nube de Xcode

Usos de la nube XcodeFlujos de trabajopara configurar las condiciones de compilación para que se ejecuten cuando comiencen las compilaciones.

Para crear un nuevo flujo de trabajo de Xcode Cloud en su proyecto Xcode, seleccione elNubepestaña en el navegador de la ventana del proyecto a la izquierda, luego seleccioneProducto->Xcode Cloud->Crear flujo de trabajodesde la barra de menú de Xcode.Esto abre la hoja de incorporación del proyecto Xcode Cloud en Xcode:

Desde aquí puede otorgar acceso a su repositorio de código fuente en GitHub o uno de los otros servicios basados ​​en Git compatibles.

Esto supone que su sistema SCM ya está conectado en los pasos de configuración de Xcode Cloud mencionados anteriormente.

Granting access to GitHub.

Otorgar acceso a GitHub.

Una vez que haya otorgado acceso, puede configurar las condiciones iniciales para el flujo de trabajo de Xcode Cloud en la hoja.Estos incluyen condiciones de inicio, entorno, acciones y acciones posteriores.

También puedes configurar notificaciones por correo electrónico o Slack.

En la fila General, puede darle un nombre y una descripción al flujo de trabajo, seleccionar un repositorio en el menú emergente y seleccionar un proyecto o espacio de trabajo.Querrá configurarlos antes de configurar las condiciones de construcción iniciales en el siguiente paso.

Set the workflow info under the General tab.

Configure la información del flujo de trabajo en la pestaña General.

BajoCondición de iniciopuede elegir qué rama de git usar para su compilación, cuándo activar una compilación en función de los cambios de SCM y si iniciar una compilación cuando cambie algún archivo o en función de condiciones personalizadas.

Cuando haya establecido todas las condiciones de inicio para una compilación, haga clic en elAhorrarbotón.

Set the build start conditions.

Establezca las condiciones de inicio de la construcción.

También puede establecer la configuración del entorno y las acciones a realizar durante y después de las compilaciones.

Una vez que su flujo de trabajo de Xcode Cloud esté configurado, Xcode Cloud comenzará a ejecutar compilaciones basadas en la nube según las condiciones que establezca.

Escucha

En cualquier momento puedes comprobar el estado de las compilaciones haciendo clic en elNubeen la ventana del navegador del proyecto Xcode, o en App Store Connect en la pestaña Xcode Cloud.

La pestaña Nube en el navegador de proyectos de Xcode proporciona un resumen de todas las compilaciones, los resultados de cada compilación y cualquier error que pueda ocurrir para cada colaborador del proyecto.El panel de resumen Descripción general proporciona un vistazo rápido a todos los resultados de la compilación.

Curva de aprendizaje pronunciada, pero muy útil.

Xcode Cloud tiene un gran potencial una vez que se supera la pronunciada curva de aprendizaje.Pero a menos que sea un lector extremadamente rápido, prepárese para pasar al menos unos días revisando la documentación y jugando con las funciones de Xcode Cloud y Xcode para dominar el producto.

Para que Xcode Cloud sea fluido y fácil de usar, Apple primero debe solucionar los problemas de App Store Connect y luego facilitar la configuración dentro de Apple Store Connect.Sería bueno alguna configuración automática en la forma en que se actualizaron las características de Firma y Capacidades.

Es de suma importancia que Apple reduzca, acorte, optimice y consolide la documentación del desarrollador para que aprender y utilizar la nube Xcode sea más rápido y sencillo.

Desde una perspectiva de equipo y automatización, no hay duda de que Xcode Cloud es beneficioso.Liberarse de la gestión y la infraestructura de servidores es una victoria para cualquier equipo de desarrollo.

E incluso en el nivel más alto, es probable que los costos mensuales de Xcode Cloud sean mucho más bajos que los de un equipo equivalente de ingenieros de construcción y servidores.

Una vez que Apple solucione los problemas mencionados anteriormente, Xcode Cloud será un gran activo para cualquier empresa o equipo de desarrollo.

En artículos futuros profundizaremos en el uso de los flujos de trabajo de Xcode y en cómo ejecutar pruebas en Xcode Cloud.