hudson continuous integration tool tutorial selenium tutorial 25
En los dos últimos tutoriales de la serie Selenium, discutimos las dos herramientas de construcción más importantes: HORMIGA y Maven . Discutimos su significado e importancia práctica.
En nuestro tutorial anterior de la serie DevOps, aprendimos sobre Integración de Jenkins con selenio .
En la corriente Tutorial de capacitación en línea de selenio , discutiríamos un herramienta de integración continua conocida como Hudson .
Leer a través => Guía ejemplar sobre DevOps
Nota: Este tutorial es parte de Selenium y de la serie de tutoriales de DevOps. Haga clic en los enlaces correspondientes para navegar a la serie correspondiente.
Estudiaríamos su importancia y los beneficios que obtenemos de cualquier herramienta de integración continua . Miraríamos el Hudson directamente desde el principio, desde su instalación hasta su configuración avanzada.
Lo que vas a aprender:
- Integración continua
- Hudson: herramienta de integración continua
- Instalación de Hudson
- Configuración de Hudson
- Configurar la notificación por correo electrónico
- Creando el Proyecto Hudson
- Configuración del proyecto Hudson
- Configurar la administración de código fuente
- Seleccionar disparadores de compilación
- Invocar pasos de compilación
- Configuración de acciones posteriores a la construcción
- Conclusión
- Lectura recomendada
Integración continua
Muchas veces, terminamos trabajando en un proyecto donde un gran grupo de desarrolladores y probadores están trabajando juntos en diferentes módulos. Los desarrolladores y probadores trabajan en sus módulos desarrollando ejecutables. Estos productos de trabajo se integran luego a intervalos regulares. Por lo tanto, cada vez que creamos un código de desarrollo, es necesario integrarlo, probarlo y construirlo para garantizar que el código desarrollado no se rompa o introduzca errores o defectos.
Este proceso de construcción y prueba del trabajo de desarrollo integrado a intervalos regulares se conoce como Integración continua (CI) . La integración continua le permite identificar y abordar los defectos o errores lo antes posible en el ciclo de vida del desarrollo, es decir, más cerca del momento en que se introdujeron.
El sistema de integración continua crea y prueba la aplicación tan pronto como el código nuevo / modificado se compromete con el acrónimo del sistema de gestión de control de fuente como SCM. Con sus grandes beneficios e impacto en las industrias, se ha convertido en una parte integral del ciclo de vida del desarrollo de software y se practica obligatoriamente.
Hudson: herramienta de integración continua
La integración continua se puede realizar automáticamente. Hudson es una de las herramientas más conocidas para realizar Integración Continua. Hudson es una herramienta de integración continua de código abierto basada en Java. Como cualquier otra herramienta de integración continua, Hudson proporciona a los equipos la activación de compilaciones y pruebas con cualquier cambio en el sistema de gestión de control de fuente.
Hudson admite una amplia gama de herramientas y complementos.
Hudson:
- Admite herramientas SCM como CVS, Subversion (SVN), Git, etc.
- Es capaz de construir proyectos basados en ANT, proyectos basados en Maven, etc.
- Es capaz de ejecutar scripts de shell y comandos por lotes de Windows.
- Es capaz de enviar informes, notificaciones, etc.por correo electrónico, SMS, Skype, etc.
Instalación de Hudson
Prerrequisitos
Para poder utilizar Hudson, necesitamos que las siguientes cosas estén en su lugar antes de comenzar:
- Repositorio de código fuente (SVN / Git / CVS, etc.)
- Crear script (Ant / Maven, etc.)
Instalación
Hudson se puede instalar fácilmente en una variedad de entornos. Hudson se puede instalar tanto en la máquina Linux como en la máquina Windows. También se distribuye como un paquete específico para el tipo de sistema operativo para diferentes versiones de Linux, lo que hace que la instalación sea una tarea de pocos minutos. Hudson se puede ejecutar como una aplicación independiente o dentro del contenedor de servlet. En este tutorial, explicaríamos la instalación de Hudson en una máquina con Windows. Hay dos enfoques distintos para instalar Hudson.
- Usando archivo WAR
- Usando el paquete nativo
Los paquetes nativos están disponibles para Ubuntu / Debian, Oracle Linux, Redhat / Fedora / CentOS y openSUSE.
Para este tutorial, discutiremos la instalación por archivo WAR. Analicemos todo el proceso paso a paso.
Paso 1 : Descargue el archivo WAR de Hudson del sitio web oficial de Hudson - ' http://hudson-ci.org/ ”. Mantenga el archivo war en la ubicación deseada en el sistema de archivos local. Este archivo WAR se puede iniciar directamente a través del símbolo del sistema o se puede utilizar en Servlet Container. El WAR es un archivo ejecutable que tiene un Servlet Container incrustado en sí mismo.
Paso 2 : El siguiente paso es inicializar la interfaz de usuario web de Hudson. Para esto, necesitamos abrir un símbolo del sistema e ir a la carpeta donde se guarda Hudson War.
- Escriba java -jar hudson-3.0.1.war –httpPort = 8099
El comando anterior muestra que la configuración inicial debe realizarse en Hudson Dashboard. Consulte la siguiente pantalla.
(Click para agrandar la imagen)
Nota: Es recomendable iniciar Hudson como un servicio en una máquina con Windows o Linux.
Paso 3 : Para poder acceder a la ventana de Hudson, abra su navegador e inicie Hudson.
- Escriba 'http: // localhost: 8099 /'. Esto abrirá la ventana de Hudson.
(Click para agrandar la imagen)
Paso 4 : Seleccione los complementos deseados y haga clic en el botón Finalizar. Tenga paciencia, ya que es probable que la instalación de todos los complementos tarde unos minutos.
Nota : Hay varias opciones disponibles para brindar soporte para SCM. Marque la opción SCM que desea utilizar.
Una vez que se hayan instalado todos los complementos, un usuario puede ver el panel de Hudson.
Configuración de Hudson
Ahora que Hudson Dashboard está listo, el siguiente paso es configurar Hudson. Analicemos nuevamente todo el proceso en pasos:
Paso 1 : Para configurar el Hudson, haga clic en el enlace 'Administrar Hudson' que se muestra en el menú de la izquierda.
Paso 2 : Haga clic en el enlace 'Configurar sistema' en el siguiente paso. Consulte la siguiente captura de pantalla.
Paso 3 : Tan pronto como haga clic en el enlace Configurar sistema, aparecerán numerosas secciones para los parámetros de conexión. Agregue una entrada a JDK como se muestra en la siguiente figura. El usuario debe proporcionar el nombre de la instalación de JDK y la ubicación donde está instalado java. Se puede agregar más de una instancia de Java.
El usuario también puede instalar JDK automáticamente marcando la casilla de verificación 'Instalar automáticamente'.
Paso 4 : En el siguiente paso, agregue una entrada a Ant como se muestra en la siguiente figura. El usuario debe proporcionar el nombre de la instalación de Ant y la ubicación donde Ant está instalado localmente.
Como JDK y Ant, un usuario puede configurar otros parámetros de conexión.
Nota : Recuerde siempre desmarcar la casilla de verificación 'Instalar automáticamente'. La casilla de verificación debe seleccionarse en caso de que desee descargar el artefacto de Internet.
Configurar la notificación por correo electrónico
La sección Notificación por correo electrónico se muestra al final de la misma página web. El usuario debe configurar los siguientes campos:
Haga clic en un botón avanzado para ver todas las opciones relacionadas con la notificación por correo electrónico.
- Servidor SMTP: El servidor SMTP almacena la información sobre el servidor SMTP, es decir, el número de IP o el nombre completo del servidor. Para la demostración, en este tutorial, usaremos el servidor SMTP de Gmail.
- Sufijo de correo electrónico de usuario predeterminado : Se puede proporcionar un sufijo de correo electrónico en este campo que podría tener como sufijo el nombre de usuario y se puede utilizar para enviar la notificación por correo electrónico.
- Dirección de correo electrónico del administrador del sistema : La dirección de correo electrónico del administrador se utiliza como una identificación de correo electrónico del remitente desde la que se enviarán todas las notificaciones.
- URL de Hudson : Si es probable que publique informes o cree información dentro de la Notificación por correo electrónico, entonces debe proporcionar la URL de Hudson. La URL de Hudson se utilizará para acceder a los informes. Se debe proporcionar una URL válida, sin embargo, si todos los receptores están conectados a la intranet, también se puede proporcionar la dirección IP de la máquina que aloja Hudson.
- Usar autenticación SMTP : Al habilitar esta opción, el campo de nombre de usuario y contraseña aparece con fines de autenticación.
- Utilice SS L: El usuario puede activar SSL seleccionando esta opción para conectarse al servidor SMTP.
- Puerto SMTP: El usuario debe proporcionar el número de puerto en este campo que se utiliza para comunicarse con el servidor de correo. Si no se especifican números de puerto, se asignan los números de puerto predeterminados.
- Charset : Este campo especifica el conjunto de caracteres utilizado para redactar correos electrónicos.
Como ya mencionamos que usaríamos el servidor de correo de Gmail para enviar notificaciones por correo electrónico en este tutorial, consulte las siguientes capturas de pantalla y realice los cambios necesarios en la sección Notificación por correo electrónico.
Haga clic en el botón Guardar para guardar todos los cambios recién realizados.
Creando el Proyecto Hudson
Ahora que hemos instalado y configurado Hudson en nuestras máquinas, seguiremos adelante y crearemos Hudson Projects. Al igual que la configuración de Hudson, tenemos varias opciones de configuración para un Proyecto Hudson. En este tutorial, arrojaríamos luz sobre las opciones y extensiones más útiles y más utilizadas.
Para crear y configurar un nuevo Proyecto Hudson, siga los pasos a continuación:
Haga clic en la opción 'Nuevo trabajo' que se muestra en el menú de la izquierda. Se abrirá la siguiente página que muestra las opciones relacionadas con la creación y los estilos del proyecto.
Existen numerosos estilos en los que se puede crear el proyecto / trabajo. Tenga en cuenta que proyecto y trabajo se pueden usar indistintamente, ya que ambos tienden a significar lo mismo.
- Cree un software de estilo libre jo b: Este es el método más utilizado para crear un nuevo trabajo Hudson.
- Crear trabajo de configuración múltiple : Este estilo de proyecto se utiliza para ejecutar una variedad de trabajos.
- Supervisar un trabajo externo : Este estilo de proyecto supervisa un trabajo externo.
- Copiar trabajo existente : En caso de que tengamos un proyecto similar a un proyecto existente, este estilo puede ser útil. Todo lo que tiene que hacer es especificar el nombre del trabajo existente y se creará la réplica de este trabajo.
Sin embargo, para este tutorial, crearíamos un proyecto Hudson de estilo libre. Escriba el nombre del trabajo que desea crear y haga clic en el botón Aceptar. Hacer clic en Aceptar lo llevará a la página de configuración del trabajo como se muestra a continuación:
Configuración del proyecto Hudson
Una vez que hemos creado el trabajo de Hudson, es el momento de configurarlo. Al igual que la configuración de Hudson, Hudson Job también tiene varios ajustes de configuración. Discutamos los importantes aquí.
Para ser específicos, existen seis tipos de ajustes para configurar un trabajo:
- Configuración general de trabajos : Esta sección permite al usuario mencionar la información básica sobre el trabajo. El usuario puede enviar la descripción del trabajo, deshabilitar el trabajo, parametrizar el trabajo, eliminar las compilaciones más antiguas y puede ejecutar más de una compilación para el mismo trabajo al mismo tiempo.
- Opciones de trabajo avanzadas : Esta sección permite al usuario configurar algunas opciones avanzadas.
- Gestión de código fuente : La sección le permite proporcionar la configuración relacionada con el sistema de administración de código fuente. Seleccione “Ninguno” si no se está utilizando SCM. Tenga en cuenta que el usuario solo podrá ver las opciones de SCM cuyo complemento se instaló en el momento de la instalación de Hudson. Para agregar más SCM al Hudson, un usuario puede visitar la página Administrar complementos y puede instalar los complementos necesarios.
- Construir disparadores : Esta sección permite al usuario decidir cómo iniciar la ejecución de la compilación.
- Construir : Esta sección permite al usuario proporcionar la configuración del mecanismo de compilación.
- Acciones posteriores a la construcción : Esta sección permite al usuario proporcionar configuraciones para las acciones posteriores a la compilación que se ejecutarían una vez finalizada la ejecución de la compilación.
Demos un paso adelante y configuremos el trabajo con los ajustes necesarios. El usuario puede dejar las opciones en 'Configuración general del trabajo' y 'Opciones avanzadas del trabajo' en su estado predeterminado.
Configurar la administración de código fuente
Hemos estado hablando mucho sobre la creación del proyecto Hudson en las secciones anteriores de este tutorial. El proyecto Hudson se utiliza habitualmente con un proyecto real (código fuente) que está vinculado a un sistema de gestión de código fuente en particular. Como se mencionó al comienzo de este tutorial, Hudson tiene un gran soporte para una variedad de SCM. Por nombrar algunos, Hudson es compatible con CVS, Git, SVN, etc. Por lo tanto, en este tutorial, configuraremos Subversion (SVN) como SCM.
Paso 1 : Seleccione la opción 'Subversion'. Tan pronto como el usuario seleccione Subversion, aparecerán las siguientes opciones.
Paso 2: El siguiente paso es proporcionar la 'URL del repositorio' del SVN. Como he creado un repositorio local, proporcionaría una URL de repositorio local. Se puede crear un repositorio local usando Tortoise SVN.
diferencia entre el caso de prueba y el escenario de prueba
Mantenga todas las demás configuraciones en esta sección por defecto.
Seleccionar disparadores de compilación
El siguiente paso es configurar los activadores de compilación. Hudson le permite configurar activadores para iniciar el proceso de ejecución de la compilación automáticamente. El usuario puede configurar el trabajo para que se genere automáticamente si se crea cualquier otro proyecto / trabajo. Alternativamente, el usuario también puede configurar la compilación para que se ejecute periódicamente, es decir, programar la ejecución de la compilación o el usuario también puede programar una compilación para buscar nuevas confirmaciones en el SCM y activar la ejecución si alguno de los usuarios también puede configurar para iniciar la compilación se ejecuta siempre que haya una actualización en las dependencias de Maven siempre que su proyecto sea un proyecto basado en Maven.
Para configurar estas opciones, todo lo que tiene que hacer es seleccionar el disparador de compilación deseado. También se aprovecha al usuario para seleccionar más de una opción a la vez.
Al seleccionar cualquiera de los activadores anteriores, es posible que el usuario tenga que proporcionar información adicional específica del tipo de activador.
- Crear después de que se hayan creado otros trabajos: se debe mencionar el nombre de los trabajos que pueden desencadenar la ejecución de este trabajo.
- Construir periódicamente: se debe mencionar el horario. Hay un protocolo específico que debe seguirse para mencionar el horario. A continuación se muestra más información sobre la programación:
- Encuesta SCM: el usuario debe especificar el horario. El campo actúa igual que el de “Construir periódicamente”.
- Compilar cuando las dependencias de Maven se hayan actualizado mediante la integración de Maven 3: esta sección no requiere que se envíe ninguna entrada.
Puede encontrar más información expandiendo los iconos de Ayuda.
Si el usuario no desea establecer ninguno de estos activadores de compilación, puede decidir compilar el trabajo / proyecto manualmente. Todo lo que tiene que hacer es hacer clic en el enlace 'Construir ahora' que se muestra en el menú de la izquierda.
Invocar pasos de compilación
Ahora que hemos visto todos los pasos básicos para configurar un proyecto de compilación, sigamos adelante y agreguemos algunos pasos de compilación más. Esta sección permite al usuario definir su compilación con múltiples pasos de compilación.
Cada uno de los pasos de construcción tiene su propia convención para definir e invocar.
Por ejemplo, consulte la invocación ANT a continuación:
Configuración de acciones posteriores a la construcción
A veces, es necesario y vital realizar ciertas acciones posteriores a la construcción. Las acciones posteriores a la compilación no son más que algunas acciones que se activan una vez que se ejecuta la compilación. Se aprovecha al usuario para activar más de una acción posterior a la construcción si así lo desea.
Como todos sabemos, los estados e informes de ejecución de la compilación son uno de los artefactos o criterios de salida más importantes para un ciclo de vida de desarrollo de software. Por lo tanto, Hudson le permite publicar el informe de ejecución de la compilación, generar documentación, generar ejecutables / archivos, etc.
Los informes de ejecución de pruebas se pueden publicar y enviar a las partes interesadas por correo electrónico. Los resultados de esta compilación pueden desencadenar la ejecución de otra compilación.
Las acciones posteriores a la construcción son muchas, tomemos un momento para discutir las más básicas.
# 1. Resultados agregados de las pruebas posteriores - La configuración permite al usuario agregar los resultados de la ejecución de la prueba de este trabajo y los trabajos posteriores para producir resultados de prueba más impactantes. Todo lo que el usuario debe hacer es proporcionar el nombre del trabajo posterior. En caso de que el usuario no desee proporcionar ningún trabajo posterior, pero aún desea aprovechar la configuración, puede indicarle al Hudson que busque todos los proyectos posteriores.
# 2. Registre las huellas digitales de los archivos para realizar un seguimiento del uso - El usuario puede utilizar la configuración para rastrear dónde se utilizó un archivo en particular.
# 3. Publicar informe de resultado de la prueba JUnit - La configuración permite al usuario publicar el informe de prueba JUnit leyendo y entendiendo el informe personalizado generado por JUnit. El informe de resultados de la prueba JUnit proporciona al usuario una interfaz web para ver los informes creados. Estos informes se pueden enviar por correo electrónico a las partes interesadas. Para habilitar esta opción, todo lo que debe hacer el usuario es proporcionar la ruta al informe personalizado generado por JUnit.
# 4. Archivar los artefactos - Esta configuración permite al usuario crear artefactos que se pueden distribuir para su uso posterior. El artefacto se puede producir después de cada construcción exitosa. El usuario puede acceder directamente a estos artefactos a través de la interfaz web. Los artefactos pueden ser ejecutables de lanzamiento en forma de archivos war, archivos jar, carpetas comprimidas o tar.
# 5. Publicar Javadoc - Esta configuración le permite publicar el documento de Java para clientes y usuarios en la interfaz web de Hudson, siempre que su proyecto genere el documento de Java. Para habilitar esta opción, se requiere que un usuario proporcione la ubicación del Java Doc contra el directorio Javadoc.
Si el usuario marca la opción 'Retener Javadoc para cada compilación exitosa', el Javadoc recién generado se guardará en la carpeta especificada. Por lo tanto, se mantendrían todos los Javadocs correspondientes a la compilación exitosa.
# 6. Crea otros trabajos - La configuración permite al usuario activar la ejecución de otros trabajos una vez que se ejecuta este trabajo. El usuario puede activar la ejecución de más de un trabajo al mismo tiempo. La configuración puede ser útil para ejecutar escenarios de pruebas de integración y pruebas unitarias. El usuario puede incluso configurar la opción para crear otros trabajos incluso si este trabajo falla (inestable).
# 7. Publicar informe de cobertura de Cobertura - Cobertura es una herramienta de prueba basada en Java que analiza la cobertura del código de su proyecto, es decir, evalúa el porcentaje de código cubierto por las pruebas. Por lo tanto, la configuración permite al usuario generar un informe con análisis de cobertura de código. La configuración requiere que se proporcionen algunos parámetros antes de que pueda obtener un informe de prueba completo sobre la cobertura del código. Tenga en cuenta que esta configuración no viene de forma predeterminada, es decir, requiere la instalación de un complemento (lo cual hicimos en el momento de la instalación, ya que generalmente es parte de los complementos sugeridos).
(Haga clic en la imagen para ampliar)
# 8. Notificación de correo electrónico - La notificación por correo electrónico es una de las acciones posteriores a la compilación más importantes. La opción permite al usuario enviar el correo electrónico de notificación de compilación a las partes interesadas (desarrolladores, evaluadores, propietarios de productos, etc.) configurando sus ID de correo electrónico. Hudson puede enviar el correo electrónico cuando la compilación es inestable, exitosa, fallida, etc. El usuario también puede configurar activadores de notificación por correo electrónico. El correo electrónico de notificación se puede enviar a más de un destinatario al mismo tiempo simplemente proporcionando un espacio en blanco entre sus ID de correo electrónico. Consulte la captura de pantalla siguiente para comprobar cómo se pueden proporcionar estos ajustes.
(Haga clic en la imagen para ampliar)
Notas:
- El usuario puede volver en cualquier momento a esta página y cambiar la configuración si es necesario.
- El usuario puede ver la información sobre cada opción dentro del icono de ayuda asociado.
- El usuario puede agregar más acciones posteriores a la construcción con la ayuda de complementos.
Conclusión
En este tutorial, lo familiarizamos con el concepto de Integración Continua. También hicimos hincapié en su importancia durante el ciclo de vida del desarrollo de software, especialmente en la vida de un desarrollador o evaluador.
Siguiente tutorial n. ° 26 : Avanzando en la serie, discutir algunos conceptos avanzados de selenio eso ayudaría directa o indirectamente a optimizar el marco de automatización y brinda más visibilidad a los usuarios. Por lo tanto, en el próximo tutorial, discutiremos la función de registro, su potencial, capacidades de depuración y mucho más.
Nota: Este tutorial es parte de Selenium y de la serie de tutoriales de DevOps. Haga clic en el enlace a continuación para ver los tutoriales anteriores y siguientes de la serie DevOps.
PREV Tutorial | SIGUIENTE Tutorial
Lectura recomendada
- Tutorial de Cucumber Selenium: Integración de Cucumber Java Selenium WebDriver
- Tutoriales detallados de Eclipse para principiantes
- Integración de selenio con JMeter
- Pruebas de automatización con la herramienta Pepino y selenio - Tutorial de selenio n. ° 30
- Spock para pruebas funcionales y de integración con selenio
- Uso de la herramienta de automatización de compilación Maven y la configuración del proyecto Maven para Selenium - Tutorial de Selenium n. ° 24
- Integración de Jenkins con Selenium WebDriver: Tutorial paso a paso
- Introducción a Selenium WebDriver - Tutorial de Selenium n. ° 8