Este documento resume los pasos para instalar y configurar Jenkins en Windows, crear usuarios y roles, generar proyectos libres, y configurar pipelines. Explica cómo instalar complementos como Role Strategy para administrar permisos de usuarios, y Build Pipeline para crear vistas de pipelines. También muestra cómo crear un proyecto libre para compilar código Java alojado en GitHub y ejecutarlo de forma continua a través de Jenkins.
2. Instalación y uso Jenkins | Moisés Araya
[1]
Tabla de contenidos
Instalación, configuración y uso básico de Jenkins en Windows. ........................................... 2
Introducción...................................................................................................... 2
Requisitos......................................................................................................... 2
Instalación........................................................................................................ 2
Configuración inicial ......................................................................................... 4
Personalizar Jenkins.......................................................................................... 6
Crear usuarios en Jenkins y Administrar permisos y Roles. ............................................... 9
Crear/Agregar usuario ....................................................................................... 9
Instalar el complemento Role Strategy Plugin .............................................................10
Crear roles ....................................................................................................11
Asignar un rol.................................................................................................12
Crear proyecto libre ...........................................................................................14
¿Qué es un proyecto libre?..................................................................................14
Creando un proyecto libre..................................................................................14
Pipelines .........................................................................................................18
JenkinsFile....................................................................................................18
Tipos de pipeline: Declarative vs Scripted...............................................................18
¿Porque usar Pipelines de Jenkins?........................................................................19
Instalar el complemento Build Pipeline en Jenkins.....................................................19
Crear un Pipeline básico en Jenkins ......................................................................20
Ejecutar un pipeline.........................................................................................21
Ejemplo Pipeline Hola Mundo.................................................................................23
Inicio detención servicios .....................................................................................25
Logs de Jenkins .................................................................................................27
Plugins/Complementos ........................................................................................28
Monitoreo .....................................................................................................28
Uso de disco ..................................................................................................30
Respaldos .....................................................................................................32
Cambiar tema/estilo ........................................................................................35
Anexos ..............................................................................................................36
A- Instalar Jenkins en Centos 7.............................................................................36
B- Cambiar puerto HTTP.....................................................................................38
C- Alternativas a Jenkins ....................................................................................39
3. Instalación y uso Jenkins | Moisés Araya
[2]
Instalación, configuración y uso básico de Jenkins en
Windows.
Introducción
Jenkins es una herramienta Open Source para la integración continua, está escrita
en Java, el proyecto es un fork de Hudson.
Mas información en: https://jenkins.io/doc/
Requisitos
JDK 8 o superior instalado.
Descargar software desde: https://jenkins.io/download/ y seleccionar la plataforma, en
este caso Windows.
Instalación
Ir a ruta donde están las descargas y descomprimir el paquete, hacer doble clic en archivo
*.msi.
4. Instalación y uso Jenkins | Moisés Araya
[3]
En la pantalla de setup, clic en Next.
Seleccionar la ruta donde se quiere instalar la instancia Jenkins, por defecto es: C:Program
Files (x86)Jenkins, clic Next.
Clic en botón Install.
5. Instalación y uso Jenkins | Moisés Araya
[4]
Después de completar la fase de instalación, se debe continuar con su configuración.
Configuración inicial
Después de terminar el proceso de instalación, aparecerá una pestaña en el navegador que
solicitará la contraseña de administrador inicial.
Para acceder a Jenkins, navegar a la siguiente dirección http://localhost:8080
6. Instalación y uso Jenkins | Moisés Araya
[5]
La contraseña inicial de administrador debe estar en la ruta de instalación de Jenkins en una
carpeta llamada secrets, en este ejemplo está en: C:Program Files (x86)Jenkinssecrets, el
archivo que contiene la información es initialAdminPassword
Abrir el archivo y copiar su contenido.
Pegar la contraseña en la ventana del navegador (http://localhost:8080/login?from=%2F) y
clic en continuar.
7. Instalación y uso Jenkins | Moisés Araya
[6]
Personalizar Jenkins
También es posible personalizar el entorno Jenkins siguiendo los pasos descritos en imagen.
Clic en botón instalar complementos sugeridos para que Jenkins instale los componentes
esenciales.
Jenkins comenzara a descargar e instalar todos los complementos necesarios para crear
nuevos trabajos en Jenkins.
Nota: También es posible seleccionar la opción “Seleccionar los complementos a instalar” y seleccionar los
complementos deseados.
8. Instalación y uso Jenkins | Moisés Araya
[7]
Después de haber instalado todos los complementos, se solicitará crear una cuenta de
administrador, llenar todos los campos con los datos deseados y presionar en guardar y
continuar.
Una vez completado el paso anterior, se pedirá información de la URLS donde puede
configurar la ruta de la instancia para Jenkins, en este caso dejar como esta, sin embargo, si
otra aplicación usa el puerto 8080, este deberá cambiarse por otro, finalmente guardar la
configuración para terminar.
9. Instalación y uso Jenkins | Moisés Araya
[8]
Se ha instalado con éxito el servidor Jenkins, pulsar botón ‘comenzar a usar Jenkins’.
Se muestra la instancia de Jenkins en funcionamiento lista para crear los primeros trabajos.
Nota: Cuando se instala la versión .msi, Jenkins crea automáticamente un servicio en Windows.
10. Instalación y uso Jenkins | Moisés Araya
[9]
Crear usuarios en Jenkins y Administrar permisos y Roles.
Normalmente en una organización enorme, hay varios equipos separados para administrar y ejecutar
trabajos en Jenkins, pero administrar una gran cantidad de usuarios y asignarles roles puede
resultar engorroso.
Por defecto, Jenkins viene con opciones básicas de creación de usuarios, se pueden crear varios
usuarios, pero solo se pueden asignar los mismos roles y privilegios globales y esto no es lo más
recomendado para una gran compañía.
Para resolver esto, existe un complemento llamado Role Strategy Plugin permite asignar diferentes
roles y privilegios a diferentes usuarios.
Crear/Agregar usuario
En consola de administración clic sobre administrar Jenkins, luego gestión de usuarios y
finalmente crear usuario.
Ingresar datos solicitados; nombre, contraseña y correo, finalizar presionando el botón crear
usuario.
11. Instalación y uso Jenkins | Moisés Araya
[10]
El usuario es creado.
Instalar el complemento Role Strategy Plugin
Existen dos opciones para instalar complementos en Jenkins:
Por medio de la consola de administración.
Descargando el complemento desde el sitio oficial de Jenkins e instalarlo manualmente.
Paso 1- Ir a administrar Jenkins, clic en administrar plugins.
Paso 2 - En sección todos los complementos, buscar por la palabra “role” Seleccionar Role-based
Authorization Strategy, clic en “Instalar sin reiniciar”.
12. Instalación y uso Jenkins | Moisés Araya
[11]
Una vez que el complemento está instalado, se desplegara “Actualizado”
Clic en volver a la página anterior.
Ir a Administrar Jenkins – Configuración Global de la seguridad – bajo Autorización,
seleccionar Role Based Strategy, finalizar con clic en Guardar.
Crear roles
En este paso, se verán roles para un usuario o un grupo de usuarios.
Paso 1 – Clic en Administrar Jenkins, Seleccionar Manage and Assign Roles.
Nota: esta opción solo está disponible solo si el complemento Role Strategy fue instalado.
13. Instalación y uso Jenkins | Moisés Araya
[12]
Paso 2 - Crear un nuevo rol llamado desarrollador.
Escribir desarrollador bajo rol.
Clic en agregar.
Ahora seleccionar los permisos que se requieren para el rol de desarrollador.
Clic en guardar.
Asignar un rol
Paso 1 - Ahora que ha sido creado el rol, este se asignará a un usuario (o grupo de usuarios)
especifico.
Clic en administrar Jenkins
Seleccionar Manage and Assign Roles
14. Instalación y uso Jenkins | Moisés Araya
[13]
Paso 2 - Agregaremos el nuevo rol desarrollador al usuario user operation.
Buscar el usuario creado y agregar.
Seleccionar el rol desarrollador del checkbox y asignar a usuario.
Clic en guardar.
Finalmente, conectarse con nuevo usuario y validar permisos y vistas.
Los permisos siguientes son los disponibles para ser asignados a un nuevo rol global:
o Global – Administer, Read
o Credentials – Create, Delete, ManageDomains, Update, View
o Agent – Build, Configure, Connect, Create, Delete, Disconnect, Provision
o Job – Build, Cancel, Configure, Create, Delete, Discover, Move, Read, Workspace
o Run – Delete, Replay, Update
o View – Configure, Create, Delete, Read
o SCM – Tag
Mas información: https://plugins.jenkins.io/role-strategy y en https://github.com/jenkinsci/role-
strategy-plugin/blob/master/README.md
15. Instalación y uso Jenkins | Moisés Araya
[14]
Crear proyecto libre
¿Qué es un proyecto libre?
Un proyecto en Jenkins es un trabajo de construcción (build) repetible el cual contiene pasos
(steps) y acciones posteriores a la construcción (build). Los tipos de acciones que se pueden
ejecutar posterior a la construcción son limitados, hay muchos complementos (plugins) disponibles
en Jenkins que ayudan a superar este problema.
Flujo básico de un proyecto en Jenkins.
Creando un proyecto libre
Para crear un proyecto libre en Jenkins hacer clic en nueva tarea ubicado en la parte superior del
menú de la izquierda.
En la siguiente ventana, ingresar:
o Nombre del ítem, en este caso Hello World
o Seleccionar proyecto de estilo libre.
o Finalizar presionando OK.
16. Instalación y uso Jenkins | Moisés Araya
[15]
En pestaña general, ingresar la descripción del proyecto.
Bajo la configuración de origen del código de fuente, ingresar la URL del repositorio a
utilizar, en este caso: https://github.com/kriru/firstJava.git
Ahora es tiempo de compilar el código, modificar la configuración en la sección entorno de
ejecución.
Bajo Ejecutar, añadir un nuevo paso, clic en ejecutar un comando de Windows.
17. Instalación y uso Jenkins | Moisés Araya
[16]
Agregar los comandos para compilar el código java:
javac HelloWorld.java
java HelloWorld
Clic en aplicar y guardar el proyecto.
Ahora en la pantalla principal, clic en Construir ahora para iniciar el proceso de compilación
de la fuente.
Después de la ejecución, se puede ver el estado de la ejecución en historia de tareas.
18. Instalación y uso Jenkins | Moisés Araya
[17]
Para ver el detalle de la ejecución, clic en el numero de la tarea y luego clic en Console
Output para ver el estado de la ejecución realizada.
Ejecución exitosa.
En resumen, se ha ejecutado el programa HelloWorld alojado en GitHub, Jenkins extrae el código
del repositorio remoto y construye (build) continuamente a la frecuencia que se defina.
Diagrama del ejercicio realizado.
Nota: Para ejecutar exitosamente este ejercicio, se debe tener instalado y configurado el programa GIT para
Windows: https://gitforwindows.org/
19. Instalación y uso Jenkins | Moisés Araya
[18]
Pipelines
Los pipelines (canalización/tubería) en Jenkins son un conjunto de eventos o trabajos (Jobs)
que permiten definir flujos de integración/entrega continua y que a su vez están
interconectados entre sí en una secuencia.
En palabras simples, un pipeline en Jenkins es una combinación de complementos (plugins)
que soportan la integración y la implementación de integración/entrega continúa usando
Jenkins.
Un pipeline de Jenkins, cada job (trabajo) o evento tiene algún tipo de dependencia de al
menos uno o más eventos.
En un pipeline se puede definir el ciclo de vida completo de una aplicación, este ciclo,
normalmente va desde la descarga de código hasta la fase de despliegue en servidores de
aplicaciones o similares pasando por etapas de compilación y pruebas.
Estados de un pipeline en Jenkins.
La imagen de arriba representa un pipeline (tubería) de entrega continua en Jenkins. Contiene un
grupo de estados llamados compilación, implementación, prueba y lanzamiento, estos estados
están relacionados entre sí y cada uno de ellos tiene sus eventos, los cuales operan en una
secuencia llamada pipeline de entrega continua.
JenkinsFile
Los pipelines de Jenkins pueden ser definidos utilizando un archivo de texto llamado JenkinsFile, se
puede implementar un pipeline como código utilizando JenkinsFile y este puede ser definido
utilizando el lenguaje DSL (lenguaje especifico de dominio), con este archivo se pueden escribir los
pasos necesarios para ejecutar un pipeline de Jenkins.
Este archivo puede ser definido mediante consola Web o por medio de un archivo.
Tipos de pipeline: Declarative vs Scripted
Hay dos tipos de sintaxis utilizados para definir JenkinsFile; Declarative y Scripted.
Declarative: este tipo de sintaxis ofrece una forma más fácil de crear pipelines, contiene una
jerarquía predefinida para crear pipelines Jenkins, entrega la capacidad de controlar todos los
aspectos de la ejecución de un pipeline de una manera simple y directa.
Scripted: Utilizado para crear Pipelines más complejos, basado en un DSL de propósito general
creado con Groovy, sigue un modelo de programación el que otorga flexibilidad y
extensibilidad a los usuarios.
20. Instalación y uso Jenkins | Moisés Araya
[19]
¿Porque usar Pipelines de Jenkins?
Jenkins es un servidor de integración continua de código abierto que tiene la capacidad de soportar
la automatización de los procesos de desarrollo de software, puede crear múltiples trabajos de
automatización con la ayuda de los casos de uso y ejecutarlos como un pipeline de Jenkins.
Razones para utilizar pipelines en Jenkins:
Los pipelines de Jenkins se implementan como un código que permite a múltiples usuarios
editar y ejecutar el proceso pipeline.
Los pipelines son robustos, por lo tanto, si el servidor se reinicia inesperadamente, el
pipeline se reanudará automáticamente.
Se puede pausar el proceso de pipeline y hacer que este espere hasta que se ingrese una
acción del usuario.
Los pipelines soportan grandes proyectos, se pueden activar varios trabajos e incluso utilizar
las tuberías en un bucle.
Conceptos Pipeline
Nodo: Es la maquina donde se ejecuta Jenkins.
Stage: Es una separación lógica de los steps, agrupa secuencias con fines distintos, un
ejemplo de stages son; Compilar, Probar e Instalar.
Step: Representa una sola operación (le dije a Jenkins que hacer)
Instalar el complemento Build Pipeline en Jenkins
Con el complemento (plugin) Build Pipeline, se pueden crear vistas de pipelines con los trabajos
entrantes/salientes y crear disparadores que requieren una intervención manual.
Para instalar este complemento; ir a administrar Jenkins – Administrar plugins – Buscar Build
Pipeline e instalar.
21. Instalación y uso Jenkins | Moisés Araya
[20]
Proceso de instalación finalizado.
Crear un Pipeline básico en Jenkins
Seguir los siguientes pasos para crear un pipeline en Jenkins:
Paso 1 - En sector derecho de la pantalla principal, clic en icono “+”
Paso 2 - Ingresar nombre al pipeline, clic en Pipeline View y finalizar con OK
Paso 3 – En ventana siguiente, se pide información adicional para configurar el pipeline, aceptar la
configuración predeterminada, seleccionar el Job deseado a ser incluido (select initial job) y
presionar OK.
22. Instalación y uso Jenkins | Moisés Araya
[21]
Se muestra la vista del pipeline.
Ejecutar un pipeline.
Paso 1 – Para ejecutar un pipeline, primero se debe enlazar sus Jobs, para esto, ir a un job y clic en
configurar.
23. Instalación y uso Jenkins | Moisés Araya
[22]
Paso 2 – En sección Disparadores de ejecuciones (Build Triggers), marcar la opción construir tras
otros proyectos (build after other projects are build), con esto se ha creado el enlace o cadena para
sus Jobs.
Se ha seleccionado Ejercicio1_Hello Worl_GitJava como job inicial del pipeline, cuando se ejecute
el pipeline, se puede ver su estado con la ayuda de los símbolos rojo y verde, rojo indica que el
pipeline ha fallado y verde indica éxito.
Paso 3 - Clic Run para ejecutar el pipeline de Jenkins, la vista será algo como esto:
Recomendaciones de uso de pipeline en Jenkins:
Usar el pipeline de Jenkins.
Desarrolla tu pipeline como código.
24. Instalación y uso Jenkins | Moisés Araya
[23]
Ejemplo Pipeline Hola Mundo
Crear nueva tarea, seleccionar pipeline y nombrar como “Hola Mundo”.
Clic sobre OK, se presenta la página de configuración del pipeline.
Ir sobre la opción que muestra pipeline.
Insertar el siguiente texto:
pipeline {
agent any
stages {
stage("Hola") {
steps {
echo 'Hola Mundo'
}
}
}
}
Script en lenguaje Groovy.
Clic en guardar.
25. Instalación y uso Jenkins | Moisés Araya
[24]
Después de guardar el pipeline, Jenkins nos lleva a la página donde están los Jobs.
Para ejecutar Job, clic en panel izquierdo construir ahora (build now), se muestra el progreso en el
mismo sector en historial de tareas (build history).
Progreso
Cuando termina la ejecución, se puede ver el resultado de cada una de las etapas de la tarea en
Stage View (en este caso solo hay un stage).
Finalmente, se puede hacer clic en la parte coloreada de verde para ver el resultado que dio por
consola, en este caso es un “Hola Mundo”.
26. Instalación y uso Jenkins | Moisés Araya
[25]
Inicio detención servicios
Para iniciar/detener/reiniciar el servicio Jenkins, ir al directorio de instalación y ejecutar los
siguientes comandos respectivamente:
Para detener -> jenkins.exe stop
Para iniciar -> jenkins.exe start
Para reiniciar -> jenkins.exe restart
Para ver estado -> jenkins.exe status
Ejemplos de detención e inicio de servicio Jenkins
Otro método disponible es por medio de la consola web, método que es recomendado.
La sintaxis es http://servidor_jenkins/comando
Los comandos pueden ser:
o exit/restart/reload
Ejemplo de reinicio por consola Web:
28. Instalación y uso Jenkins | Moisés Araya
[27]
Logs de Jenkins
Por defecto en los registros de Jenkins quedan alojados en $JENKINS_HOME/Jenkins.out y
$JENKINS_HOME/Jenkins.err
Para acceder a los registros de Jenkins, clic en Adminsitrar Jenkins – System Logs – Todos los Logs.
Logs linux /var/log/Jenkins
Mas información: https://wiki.jenkins.io/display/JENKINS/Logger+Configuration
29. Instalación y uso Jenkins | Moisés Araya
[28]
Plugins/Complementos
En pocas palabras, un plugin ayuda a extender la funcionalidad de Jenkins.
Más información: https://plugins.jenkins.io/
A continuación, se presentan algunos casos prácticos de uso de estos plugins.
Monitoreo
Una de las opciones que dispone Jenkins para realizar el monitoreo de la
plataforma es por medio del plugin Monitoring que implementa Java
Melody que a su vez es un sistema de monitoreo de aplicaciones Java de
código abierto, esta aplicación nos permite registrar varios aspectos de
un servidor como; CPU, HDD, Uso de Memoria, entre otros.
Para instalar ir a Administrar Jenkins – Adminsitrar Plugins - escribir
Monitoring o Melody y dar clic en instalar sin reiniciar.
Plugin instalado.
30. Instalación y uso Jenkins | Moisés Araya
[29]
Para acceder al registro, clic nuevamente en administrar y buscar Monitoring of Jenkins master
Información mostrada; sesiones HTTP, Memoria, CPU
Vista detallada del uso de memoria.
Mas información: https://wiki.jenkins.io/display/JENKINS/Monitoring
31. Instalación y uso Jenkins | Moisés Araya
[30]
Uso de disco
Este plugin nos permite ver el uso de disco de los diferentes proyectos y Jobs del sistema, el
proceso de instalación es el mismo mostrado anteriormente, es decir, Clic en administrar Jenkins –
Administrar Plugins y buscar e instalar disk-usage.
Plugin instalado.
Después de instalado es posible acceder el menú principal o desde el menú Administrar Jenkins.
32. Instalación y uso Jenkins | Moisés Araya
[31]
Se muestra el uso disco de los Jobs, Builds y Workspace.
La configuración de este plugin está disponible en menú Administrar Jenkins – Configurar
Sistema – Apartado Uso de Disco.
Las metricas se calculan cada 6 horas.
Más información: https://wiki.jenkins.io/display/JENKINS/Disk+Usage+Plugin
33. Instalación y uso Jenkins | Moisés Araya
[32]
Respaldos
Para crear respaldos se utiliza el plugin ThinBackup.
Descargar e instalar desde menú plugins.
Instalación correcta
Acceder a configuración de respaldos mediante menú Administrar Jenkins – Clic en
ThinBackup – Clic en Settings (configuración).
34. Instalación y uso Jenkins | Moisés Araya
[33]
En configuración, ingresar directorio de respaldos, fijar horario de respaldos full y fijar
número de respaldos, también se pueden exlcuir tipos de archivos con expresiones regulares.
Guardar cambios presionando la tecla guardar.
Presionar guardar y validar funcionamiento presionando Respaldar ahora.
35. Instalación y uso Jenkins | Moisés Araya
[34]
Resultado exitoso.
Restauración de Respaldo.
Para restaurar un respaldo, clic en Restore – Seleccionar el respaldo deseado de la lista y finalizar
presionando el botón Restore.
Como recomendación, se sugiere alojar los respaldos de Jenkins en alguna solución en la nube o en
otra unidad y no donde está la instalación de Jenkins.
Mas información: https://wiki.jenkins.io/display/JENKINS/thinBackup
36. Instalación y uso Jenkins | Moisés Araya
[35]
Cambiar tema/estilo
Los motivos para cambiar el aspecto de Jenkins pueden ser variados; desde la distinción de dos o
más servidores, mejorar la usabilidad o simplemente porque no nos gusta el aspecto que tiene por
defecto.
Para realizar esto disponemos de un plugin llamado Simple Theme
La instalación del plugin es la misma que la vista anteriormente.
Para acceder a la configuración clic en Administrar Jenkins – Configurar Sistema – Tema
Clic en añadir CSS y pegar: http://afonsof.com/jenkins-material-theme/dist/material-teal.css
Guardar cambios y validar el cambio de aspecto.
Más información en: http://afonsof.com/jenkins-material-theme/
37. Instalación y uso Jenkins | Moisés Araya
[36]
Anexos
A- Instalar Jenkins en Centos 7
Requisitos
Java 8 Instalado
Editar el archivo .bash_profile y agregar las líneas:
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.212.b04-0.el7_6.x86_64
export JRE_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.212.b04-0.el7_6.x86_64/jre
Guardar cambios con source .bash_profile
Validar funcionamiento escribiendo el comando echo $JAVA_HOME y $JAVA_JRE
Descargar aplicativo Jenkins desde el sitio: https://pkg.jenkins.io/redhat-stable/
38. Instalación y uso Jenkins | Moisés Araya
[37]
Descargar archivo .rpm wget https://pkg.jenkins.io/redhat-stable/jenkins-2.164.3-
1.1.noarch.rpm
Instalar archivo .rpm
yum install jenkins-2.164.3-1.1.noarch.rpm
Iniciar y habilitar el servicio Jenkins
systemctl start jenkins
systemctl enable jenkins
systemctl status jenkins
La configuración de Jenkins desde este punto en adelante es idéntica a la mostrada para Windows.
El archivo con la contraseña inicial está alojado en /var/lib/jenkins/secrets/initialAdminPassword
39. Instalación y uso Jenkins | Moisés Araya
[38]
B- Cambiar puerto HTTP
Jenkins viene por defecto configurado en el puerto 8080, para cambiar, editar el archivo
Jenkins.xml ubicado en la ruta C:Program Files (x86)Jenkins (HOME) y modificar el texto: --
httpPort=8080 por el puerto deseado.
Reiniciar Jenkins y validar.
http://localhost:8088/login?from=%2F
#También es posible mantener ese puerto y acceder a él por medio de un servicio Apache o Nginx
actuando como proxy reverso.
Ejemplo de configuración.
40. Instalación y uso Jenkins | Moisés Araya
[39]
C- Alternativas a Jenkins
A continuación, se presenta un listado de algunas opciones existentes a Jenkins:
Travis-CI
Es un servidor de Integración Continua gratuita para proyectos Open Source y de pago para
proyectos de licenciados.
Enlace: https://travis-ci.org/
Bamboo
Es un servidor de Integración Continua que pertenece a Atlassian.
Enlace: https://www.atlassian.com/software/bamboo
TeamCity
Es un servidor de Integración Continúa desarrollada por JetBrains.
Enlace: https://www.jetbrains.com/teamcity/download/
CircleCI
Es un servidor de Integración Continua flexible de CI que se ejecuta en cualquier entorno,
como una aplicación móvil multiplataforma, un servidor de API de Python o un clúster de
Docker.
Enlace: https://circleci.com/
CodeShip
Es una herramienta de Integración Continua que dispone de dos versiones; Basic y Pro.
Enlace: https://codeship.com/