Base de conocimientos  /  Cloud Application Manager  /  Tutoriales
Base de conocimientos  /  Cloud Application Manager  /  Tutoriales

Tutorial sobre CI/CD en Jenkins


Código del artículo: kb/403

Tutorial sobre CI/CD en Jenkins

Este tutorial es para usted si utiliza Jenkins para automatizar las pruebas de software y los flujos de trabajo para implementación. Demuestra cómo utilizar el complemento Jenkins de Cloud Application Manager para automatizar una implementación completa de extremo a extremo. Aquí utilizamos el complemento para accionar automáticamente Jenkins basado en una verificación de código en GitHub para implementar una aplicación LAMP Stack en un entorno de prueba.

La aplicación LAMP Stack se define en Cloud Application Manager como una casilla que usted puede implementar previsiblemente no solo durante una prueba, sino también en entornos de ensayo y producción de la misma manera.

Se tardan 0 minutos en seguir este tutorial. Al final, sabrá cómo utilizar un complemento para integrarlo con su propia configuración de Jenkins y automatizar implementaciones sin problemas.

En este artículo:

  • Antes de empezar
  • Crear un trabajo de compilación en Jenkins
  • Iniciar una compilación CI/CD 

Antes de empezar

Necesita lo siguiente:


Crear un trabajo de compilación en Jenkins

Ahora que ya ha instalado el servidor de Jenkins y registrado su cuenta de Cloud Application Manager allí, está listo para crear un trabajo que automatiza una compilación de prueba.

Paso 1. Paso 0. Crear un nuevo trabajo basado en una plantilla existente.

Cuando instala el servidor de Jenkins, obtiene una plantilla de trabajo de solicitud de aprobación. Cree un nuevo proyecto llamado test-pullrequest y copie la plantilla.

tutorial-jenkins-1.png

Paso 2. Paso 0. Seleccionar un esclavo de Cloud Application Manager para que ejecute el trabajo.

En el trabajo de compilación, seleccione Restrict where this project can be run (Restringir lugares donde este proyecto se puede ejecutar). Escriba la etiqueta para la casilla esclava que agregó cuando configuró el servidor de Jenkins.

tutorial-jenkins-2.png

Paso 3. Paso 0. Automatice los disparadores de pull request.

Ya que estamos utilizando GitHub para enviar cambios de código a través de solicitudes de aprobación, gestionaremos el ciclo de vida de estas solicitudes a través del complemento de Jenkins de Cloud Application Manager. Bajo Build Triggers (Activadores de compilación), marque la casilla Cloud Application Manager GitHub Pull Request Lifecycle Management (Control del ciclo de vida de la solicitud de aprobación en GitHub de Cloud Application Manager).

tutorial-jenkins-3.png

Esta configuración inicia el trabajo para que se compile cuando cree una nueva solicitud de aprobación o la actualice. Cuando cierra la solicitud de aprobación, inicia el trabajo para que elimine las instancias asociadas con la solicitud de activación, lo que ahorra recursos informáticos durante el proceso.

Paso 4 (opcional). Paso 0 (opcional). Agregar comandos shell para ejecutar pruebas unitarias.

Bajo Build > Add build step (Compilación > Añadir paso de compilación), haga clic en Execute Shell (Ejecutar shell). Ingrese los comandos Bash Shell para ejecutar cualquier pueba unitaria en su solicitud de aprobación.

tutorial-jenkins-4.png

Paso 0 Paso 0. Implementar la casilla MySQL Database Service.

Bajo Build > Add build step (Compilación > Añadir paso de compilación), haga clic en Cloud Application Manager - Deploy Box (Implementar casilla). Seleccione la casilla MySQL Database Service de su espacio de trabajo. Para seleccionar el perfil de implementación aquí, primero tiene que crearlo en la casilla de su espacio de trabajo.

tutorial-jenkins-5.png

  • Asegúrese de seleccionar Cloud Application Manager Automatic Version ya que esta es una casilla predeterminada.
  • Etiquete la instancia con una etiqueta única para identificarla en la solicitud de aprobación.
  • Configure la instancia para que termine a las 0 horas de su lanzamiento.
  • Bajo Variables, ingrese un nombre de usuario y una contraseña para la base de datos. Sin estos valores, el complemento no puede implementar MySQL Database Service.
  • Bajo Advanced (Avanzado), seleccione skip deployment (saltar implementación) para If instance already exists (Si la instancia ya existe). Esto evita que se implemente un nuevo MySQL Database Service si solo está cambiando una solicitud de aprobación existente.

Paso 0 Implemente la aplicación LAMP Stack

En este paso se implementa la application box de LAMP Stack y la enlaza a la instancia de MySQL Database Service definida en el paso anterior. Así es como debe implementar aplicaciones de varios niveles para un solo trabajo.

Bajo Build > Add build step (Compilación > Añadir paso de compilación), haga clic en Cloud Application Manager - Deploy Box (Implementar casilla). Como lo hizo anteriormente, seleccione la cuenta Cloud Application Manager registrada en Jenkins, su espacio de trabajo donde se encuentra la casilla LAMP Stack, la casilla LAMP Stack, una versión, y un perfil de implementación para iniciarla.

tutorial-jenkins-6.png

  • Programe un horario para terminar la instancia bajo Expiration (Vencimiento).
  • Bajo Variables, enlace a la casilla mysql_service box al poner su etiqueta como se muestra.
  • Haga clic en Advanced (Avanzado). Bajo If instance already exists (Si la instancia ya existe), elija reconfigure (reconfigurar). Esto actualiza la instancia de LAMP Stack con los últimos cambios de la solicitud de aprobación sin volver a implementar.

Paso 7 (opcional). Paso 0 (opcional). Agregar comandos shell para probar la aplicación.

Este paso ejecuta opcionalmente cualquier comando shell que dé para probar la aplicación de LAMP Stack.

tutorial-jenkins-7.png

Paso 0 Paso 0. Ingresar la URL de su propio proyecto de GitHub en el trabajo.

Introduzca su dirección URL de la lista de los Proyecto GiThub en estos campos: Proyecto GiThub, Repositorios de Git, y CLON_URL.

Aquí le presentamos un ejemplo:

tutorial-jenkins-8.png

tutorial-jenkins-9.png

Paso 0 Paso 0. Habilitar la compilación, guardar el trabajo y verificar.

Ya casi has terminado. Ya casi termina. ¿Recuerda que copiamos este trabajo de la plantilla que está deshabilitada? Para habilitarla, desmarque Disable Build (Deshabilitar compilación).

tutorial-jenkins-10.png

Guarde el trabajo. Guarde el trabajo. Verifique que está configurado correctamente al controlar los registros. Bajo Manage Jenkins (Gestionar Jenkins) > System Log (Registro del sistema), Jenkins debería mostrar algo como esto:

Feb 04, 2015 1:58:03 AM INFO com.elasticbox.jenkins.triggers.github.PullRequestBuildHandler
Adding webhook http://107.178.218.51:8080/elasticbox/ to GitHub repository https://github.com/Mrinan/Easy-PHP-MySQL/
Feb 04, 2015 1:58:03 AM INFO com.elasticbox.jenkins.triggers.github.PullRequestBuildHandler createWebHook
Webhook http://107.178.218.51:8080/elasticbox/ is added to GitHub repository https://github.com/Mrinan/Easy-PHP-MySQL/

Disparar una compilación CI/CD

El trabajo de solicitud de aprobación de prueba ya está listo para compilar, probar e implementar cualquier solicitud de aprobación que envíe a su proyecto de GitHub bifurcado.

Para enviar una solicitud de aprobación, cree una nueva rama basada en su repositorio maestro bifurcado y envíe un cambio a index.php en esta línea:

print "<HTML><BODY><H1>Showing the users of the sampledb that has been created in the RDS some seconds ago!</H1>\n";

Asegúrese de comparar la solicitud de aprobación con su propia rama maestra como se ve aquí.

tutorial-jenkins-11.png

Vamos, envíe una solicitud de aprobación desde su repositorio bifurcado como se muestra.

tutorial-jenkins-12.png

Tan pronto como cree la solicitud, debería ver un activador de compilación automáticamente.

tutorial-jenkins-13.png

Paso 2. Paso 0. Verificar la instancia implementada.

tutorial-jenkins-16.png

Paso 3. Paso 0. Verificar el registro de la compilación de Jenkins.

En Jenkins, busque el registro de la compilación en http:///job/test-pullrequest/lastBuild/console. Compruebe que la compilación se ejecutó con éxito para este trabajo en particular.

tutorial-jenkins-17.png

Paso 0 Paso 0. Está listo para la fusión.

Cuando finaliza la compilación, se publica automáticamente un mensaje en su solicitud de GitHub. Ya que ha verificado los cambios en la instancia de prueba, ya puede fusionarlos a través de otro trabajo de compilación en Jenkins.

tutorial-jenkins-18.png

Compruebe lo fácil que fue automatizar una prueba de prueba para el código que ha registrado. ¿Ha visto qué fácil fue automatizar una compilación de prueba para el código que ingresó? Si quiere ir un paso más allá, configure un trabajo de fusión utilizando la plantilla de trabajo de fusión para implementar automáticamente cambios en una prueba y luego en producción.

Comunicarse con soporte de Cloud Application Manager

Lamentamos que esté teniendo problemas en el Gestor de aplicaciones en la nube. Revise los consejos para solucionar problemas o comuníquese con soporte de Cloud Application Manager para proporcionar detalles y capturas de pantalla de ser posible.

Para problemas relacionados con las llamadas API, envíe el cuerpo de la solicitud junto con los detalles del problema.

En el caso de error de casilla, comparta la casilla en el espacio de trabajo en el que su organización y Cloud Application Manager pueden ingresar y adjunte los registros.

  • Linux: SSH y busque el registro en /var/log/elasticbox/elasticbox-agent.log
  • Windows: RDP dentro de la instancia para ubicar el registro en ProgramDataElasticBoxLogselasticbox-agent.log
Powered by Translations.com GlobalLink OneLink SoftwarePowered By OneLink