Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
La integración continua (CI) es una práctica de desarrollo de software en la que los desarrolladores combinan con frecuencia sus cambios de código en un repositorio central, después de lo cual se ejecutan compilaciones y pruebas automatizadas.
Puedes configurar un sistema de CI básico para evitar cambios nuevos que afecten la compilación después de combinarla. Puedes programar un sistema de CI más avanzado para
probar automáticamente la app y asegurarte de que se comporte como se espera en diferentes
entornos, como niveles de API, tamaños de pantalla y plataformas.
Figura 1. Un sistema de CI mantiene un repositorio de código en buen estado mediante la ejecución de verificaciones antes de la combinación.
En este documento, se muestran las estrategias comunes que usan los desarrolladores para configurar sistemas de CI eficaces para proyectos de Android. Estos lineamientos son genéricos y se aplican a la mayoría de las soluciones.
Ejemplo típico
Un sistema de CI típico sigue un flujo de trabajo o una canalización, que podría verse de la siguiente manera:
El sistema de CI detecta un cambio en el código, por lo general cuando un desarrollador crea una solicitud de extracción, también llamada “lista de cambios” o “solicitud de combinación”.
Aprovisiona y, luego, inicializa un servidor para ejecutar el flujo de trabajo.
Recupera el código y las herramientas, como el SDK de Android o las imágenes del emulador, si es necesario.
Compila el proyecto mediante la ejecución de un comando determinado, por ejemplo ./gradlew
build.
Ejecuta un comando determinado, por ejemplo, ./gradlew test, para ejecutar las pruebas locales.
Sube artefactos, como resultados de pruebas y APKs.
Figura 2: Un flujo de trabajo básico de CI
Beneficios de la CI
Las ventajas de la CI incluyen las siguientes:
Calidad mejorada del software: La CI puede ayudar a mejorar la calidad del software a través de la identificación y solución de problemas desde el principio. Esto puede ayudar a reducir la cantidad de errores en las versiones de software y mejorar la experiencia general del usuario.
Menos riesgo de compilaciones dañadas: Cuando automatizas el proceso de compilación con CI, puedes evitar mejor las compilaciones dañadas si resuelves los problemas antes en el proceso.
Mayor confianza en las versiones: La CI puede ayudar a garantizar que cada versión sea estable y lista para la producción. Mediante la ejecución de pruebas automatizadas, la CI puede identificar cualquier problema potencial antes de su lanzamiento al público.
Comunicación y colaboración mejoradas: Debido a que proporciona un lugar central para que los desarrolladores compartan los resultados de las pruebas y el código, la CI puede facilitar que los desarrolladores y otros miembros del equipo trabajen juntos y hagan un seguimiento del progreso.
Mayor productividad: La CI puede ayudar a aumentar la productividad de los desarrolladores mediante la automatización de tareas que, de otro modo, llevarían mucho tiempo y serían propensas a errores.
Lecturas adicionales
Si deseas obtener más información sobre cómo usar la integración constante para mejorar el desarrollo de tu app, consulta las siguientes páginas:
El contenido y las muestras de código que aparecen en esta página están sujetas a las licencias que se describen en la Licencia de Contenido. Java y OpenJDK son marcas registradas de Oracle o sus afiliados.
Última actualización: 2025-07-27 (UTC)
[null,null,["Última actualización: 2025-07-27 (UTC)"],[],[],null,["# Continuous Integration basics\n\nContinuous Integration (CI) is a software development practice where developers\nfrequently merge their code changes into a central repository, after which\nautomated builds and tests run.\n\nYou can set up a basic CI system to prevent new changes that would break the\nbuild after merging in. You can program a more advanced CI system to\nautomatically test the app and make sure it behaves as expected in different\nenvironments, such as API levels, screen sizes, and platforms.\n**Figure 1.** A CI system keeps a code repository healthy by running checks before merging.\n\nThis document demonstrates common strategies developers use to set up effective\nCI systems for Android projects. These guidelines are generic and apply to the\nmajority of solutions.\n\nTypical example\n---------------\n\nA typical CI system follows a *workflow* or *pipeline*, which might look as\nfollows:\n\n1. The CI system detects a change in the code, usually when a developer creates a pull request, also called \"change list\" or \"merge request\".\n2. It provisions and initializes a server to run the workflow.\n3. It fetches the code as well as tools such as the Android SDK or emulator images if needed.\n4. It builds the project by running a given command, for example .`/gradlew\n build`.\n5. It runs the [local tests](/training/testing/local-tests) by running a given command, for example running .`/gradlew test`.\n6. It starts emulators and runs the [instrumented tests](/training/testing/instrumented-tests).\n7. It uploads artifacts such as test results and APKs.\n\n**Figure 2.** A basic CI workflow\n\nBenefits of CI\n--------------\n\nThe advantages of CI include:\n\n- **Improved quality of software**: CI can help to improve the quality of software by identifying and fixing problems early on. This can help to reduce the number of bugs in software releases and improve the overall user experience.\n- **Reduced risk of broken builds**: When you automate your build process with CI you can better avoid broken builds by resolving issues earlier in the process.\n- **Increased confidence in releases**: CI can help to ensure that each release is stable and ready for production. By running automated tests, CI can identify any potential problems before you release them to the public.\n- **Improved communication and collaboration**: By providing a central place for developers to share code and test results, CI can help to make it easier for developers and other team members to work together and track progress.\n- **Increased productivity**: CI can help to increase developer productivity by automating tasks that would otherwise be time-consuming and error-prone.\n\nFurther reading\n---------------\n\nMore more information on how you can use constant integration to improve\ndevelopment for your app, read the following pages:\n\n- **[CI Automation](/training/testing/continuous-integration/automation)**\n\n- **[CI Features](/training/testing/continuous-integration/features)**"]]