Herramientas para crear un Entorno de Integración Continua

2020-04-22
0 comentarios

La Integración Continua (CI) es un conjunto de buenas prácticas que combina el trabajo de múltiples desarrolladores. Tiene la función de detectar errores de integración tan pronto como sea posible y analizar la calidad del software. (Ver más sobre Integración continua)

Las herramientas de integración continua se pueden integrar unas con otras para generar un flujo de trabajo. Algunas herramientas que se utilizan son:

tools.png

Figura 1: Herramientas para la Integración Continua
Fuente: https://www.edureka.co/blog/devops-tools

Jenkins

Jenkins es un servidor de automatización de código abierto autónomo escrito en Java que se puede utilizar para automatizar todo tipo de tareas relacionadas con la construcción, prueba y entrega o implementación de software (Jenkins, 2020).

Jenkins se puede usar con diferentes proyectos en una amplia variedad de lenguajes y tecnologías además de Java, como C, Python, Ruby, .NET, Groovy, Grails, PHP y más. Jenkins también se puede usar con una gran cantidad de herramientas de construcción, como Ant, Maven, Kundo, Gradle, etc.

Más sobre Jenkins

GitLab

GitLab es un administrador de repositorio que permite a los equipos colaborar en el código, crear y editar proyectos. Proporciona el control de versiones, la integración continua CI (Continuous Integration en inglés), la entrega continua CD (Continuous Delivery en inglés), la gestión de proyectos y los flujos de trabajo de DevOps.

Más sobre GitLab

SonarQube

SonarQube es una plataforma de código abierto que controla la calidad del código fuente. Está implementado en lenguaje Java y cubre 27 lenguajes de programación diferentes.

Se integra correctamente con herramientas de integración continua como Jenkins, por lo que permite automatizar el análisis cada vez que un desarrollador sube código.

Más sobre SonarQube

Nexus

Nexus es un administrador de repositorio de código abierto que puede analizar los componentes utilizados en el desarrollo de software, sus características de seguridad y licencia. Cuando se integra con un servidor de integración continua, se convierte en un análisis dinámico que se lleva a cabo de forma regular y se produce potencialmente con cada compilación que se ejecuta en el servidor.

Más sobre Nexus

Apache Maven

Apache Maven es una herramienta de gestión para proyectos Java. Maven crea un proyecto utilizando su Modelo de Objeto de Proyecto o Project Object Model en inglés (POM), que describe el proyecto, gestiona dependencias y configura plugins para construir el software. Su conjunto de plugins hacen de Maven una opción popular para CI / CD.

Más sobre Apache Maven

Docker

Docker es una plataforma de código abierto que permite construir, implementar, administrar y ejecutar aplicaciones mediante el uso de contenedores. Estos contenedores tienen librerías, herramientas del sistema, código y tiempo de ejecución que aseguran que el código se ejecutará en cualquier entorno.

Más sobre Docker

CircleCI

Una plataforma de integración y entrega continua que automatiza la construcción, prueba e implementación del proceso de desarrollo de software. CircleCI admite cualquier lenguaje que se ejecute en Linux, como Python, Node.js, Ruby, Java, Go, etc.

Más sobre CircleCI

Travis CI

Un servicio de integración continua distribuido y alojado. Se utiliza para construir y probar proyectos de software alojados en GitHub. También simplifica las pruebas y la implementación de la aplicación. Es compatible con la mayoría de los lenguajes de programación, incluidos Python, Ruby, Node, Java, Go y otros.

Más sobre Travis CI


Fuentes

Adrián Alonso Vega (2017). Medium. En: <https://medium.com/@alonsus91/invirtiendo-en-calidad-an%C3%A1lisis-est%C3%A1tico-con-sonarqube-cb2ea1f383b9> (20/04/2020)

Apache Maven (2020). En: <http://maven.apache.org/>.

Circle CI (2020). En:<https://circleci.com/#>

Crilly, Michael (2019). “What is GitLab”. En: <https://opsfactory.com.au/what-is-gitlab/>, (21/04/2020).

Docker (2020). En: <https://www.docker.com/>.

Ferguson Smart, John Jenkins (2011). The Definitive Guide: Continuous Integration for the Masses. United States of America: O'Reilly Media, Inc.

GitLab (2020). En: <https://about.gitlab.com/>.

Glossarytech (2019). “Travis CI”. En: <https://glossarytech.com/terms/tools/travis-ci>.

Jenkins (2020). “Jenkins User Documentation”. En: <https://jenkins.io/doc/>, (21/04/2020).

Nexus (2020). En: <https://www.sonatype.com/products-integrations>.

Open Source (2019). “What is Docker?”. En: <https://opensource.com/resources/what-docker>. (21/04/2020)

SonarQube (2020). En: <https://www.sonarqube.org/>.

SonarSource (2020). “SonarQube”. En: <https://www.sonarsource.com/products/sonarqube/>

Travis CI (2020). En: <https://travis-ci.com/>

Comentarios:

No existe comentarios

{$ comment.fullName $}

{$ comment.date | date:'medium' $}

{$ comment.comment $}

Deja tu comentario: