hudson continuous integration tool tutorial selenium tutorial 25
En els dos darrers tutorials de la sèrie Selenium, vam parlar de les dues eines de construcció més importants: FORMIGA i Maven . Vam discutir la seva importància i importància pràctica.
Al nostre tutorial anterior de la sèrie DevOps, en vam conèixer Integració de Jenkins amb el seleni .
En el corrent Tutorial de formació en línia de seleni , discutiríem un eina d'integració contínua coneguda com Hudson .
Llegir a través => Guia exemplar de DevOps
Nota: Aquest tutorial forma part de Selenium i de les sèries de tutorials de DevOps. Feu clic als enllaços adequats per anar a la sèrie en qüestió.
Estudiaríem la seva importància i els seus beneficis qualsevol eina d'integració contínua . Veuríem Hudson directament des del principi, des de la seva instal·lació fins a la configuració avançada.
Què aprendreu:
- Integració contínua
- Hudson: eina d'integració contínua
- Instal·lació de Hudson
- Configuració de Hudson
- Configuració de la notificació per correu electrònic
- Creació del Projecte Hudson
- Configuració del projecte Hudson
- Configuració de la gestió del codi font
- Selecció de desencadenants de construcció
- Invocació de passos de construcció
- Configuració d'accions post-compilació
- Conclusió
- Lectura recomanada
Integració contínua
Moltes vegades, acabem treballant en un projecte on un gran grup de desenvolupadors i provadors treballen junts en diferents mòduls. Els desenvolupadors i els verificadors treballen en els seus mòduls, desenvolupant així executables. Aquests productes de treball s’integren a intervals regulars. Per tant, cada vegada que creem un codi de desenvolupament, s’ha d’integrar, provar i construir per garantir que el codi desenvolupat no es trenqui ni introdueixi errors o defectes.
Aquest procés de construcció i prova del treball de desenvolupament integrat a intervals regulars es coneix com Integració contínua (CI) . La integració contínua us permet identificar i abordar els defectes o errors el més aviat possible en el cicle de vida del desenvolupament, és a dir, més a prop del moment en què es van introduir.
El sistema d’integració contínua construeix i prova l’aplicació tan aviat com el codi actualitzat / modificat es confia a l’acrònim del sistema de control de fonts com a SCM. Amb els seus grans beneficis i impacte en les indústries, s’ha convertit en una part integral del cicle de vida del desenvolupament de programari i es practica obligatòriament.
Hudson: eina d'integració contínua
La integració contínua es pot realitzar automàticament. Hudson és una de les eines més conegudes per dur a terme una integració contínua. Hudson és una eina d'integració contínua de codi obert basada en Java. Com qualsevol altra eina d’integració contínua, Hudson proporciona als equips l’activació de versions i proves amb qualsevol canvi en el sistema de gestió de control d’origen.
Hudson admet una àmplia gamma d’eines i connectors.
Hudson:
- Admet eines SCM com CVS, Subversion (SVN), Git, etc.
- És capaç de construir projectes basats en ANT, projectes basats en Maven, etc.
- És capaç d'executar scripts d'intèrpret d'ordres i ordres per lots de Windows
- És capaç d'enviar informes, notificacions, etc. per correu electrònic, SMS, Skype, etc.
Instal·lació de Hudson
Requisits previs
Per poder fer servir Hudson, abans de començar necessitem que estiguin al seu lloc les coses següents:
- Dipòsit de codi font (SVN / Git / CVS, etc.)
- Build Script (Ant / Maven, etc.)
Instal·lació
Hudson es pot instal·lar fàcilment en diversos entorns. Hudson es pot instal·lar tant a la màquina Linux com a la màquina Windows. També es distribueix com un paquet específic per al tipus de sistema operatiu per a diferents sabors de Linux, cosa que fa que la instal·lació sigui de pocs minuts. Hudson es pot executar com a aplicació independent o dins del Servlet Container. En aquest tutorial, explicaríem la instal·lació de Hudson a la màquina Windows. Hi ha dos enfocaments diferents per instal·lar Hudson.
- Utilitzant el fitxer WAR
- Utilització de paquets natius
Els paquets natius estan disponibles per a Ubuntu / Debian, Oracle Linux, Redhat / Fedora / CentOS i openSUSE.
Per a aquest tutorial, parlaríem sobre la instal·lació mitjançant el fitxer WAR. Analitzem pas a pas tot el procés.
Pas 1 : Baixeu el fitxer HUDSON WAR des del lloc web oficial de Hudson - ' http://hudson-ci.org/ ”. Mantingueu el fitxer de guerra a la ubicació desitjada al sistema de fitxers local. Aquest fitxer WAR es pot iniciar directament mitjançant l'indicador d'ordres o es pot utilitzar al Servlet Container. El WAR és un fitxer executable que té un Servlet Container incrustat en si mateix.
Pas 2 : El següent pas és inicialitzar la interfície d'usuari web de Hudson. Per a això, hem d'obrir un símbol del sistema i anar a la carpeta on es guarda la guerra de Hudson.
- Escriviu java -jar hudson-3.0.1.war –httpPort = 8099
L'ordre anterior mostrarà que cal configurar la configuració inicial a Hudson Dashboard. Consulteu la pantalla següent.
(Feu clic per ampliar la imatge)
Nota: És recomanable iniciar Hudson com a servei a la màquina Windows o Linux.
Pas 3 : Per poder accedir a la finestra de Hudson, obriu el navegador i inicieu Hudson.
- Escriviu “http: // localhost: 8099 /”: obrirà la finestra de Hudson.
(Feu clic per ampliar la imatge)
Pas 4 : Seleccioneu els connectors que vulgueu i feu clic al botó Finalitza. Tingueu paciència, ja que és probable que trigeu uns minuts a instal·lar tots els connectors.
Nota : Hi ha diverses opcions disponibles per proporcionar assistència a SCM. Marqueu l'opció SCM que vulgueu utilitzar.
Un cop instal·lats tots els connectors, l’usuari pot veure el tauler de control de Hudson.
Configuració de Hudson
Ara que el tauler de control Hudson està llest, el següent pas és configurar-lo. Tornem a discutir tot el procés en passos:
Pas 1 : Per configurar Hudson, feu clic a l'enllaç 'Gestiona Hudson' que apareix al menú de l'esquerra.
Pas 2 : Feu clic a l'enllaç 'Configura el sistema' al següent pas. Consulteu la captura de pantalla següent.
Pas 3 : Tan bon punt feu clic a l'enllaç Configura el sistema, hauríeu de fer nombroses seccions de paràmetres de connexió. Afegiu una entrada a JDK tal com es mostra a la figura següent. L'usuari ha de proporcionar el nom de la instal·lació de JDK i la ubicació on està instal·lat Java. Es poden afegir més d'una instància Java.
L'usuari també pot instal·lar JDK automàticament marcant la casella de selecció 'Instal·la automàticament'.
Pas 4 : Al pas següent, afegiu una entrada a Ant com es mostra a la figura següent. L'usuari ha de proporcionar el nom de la instal·lació Ant i la ubicació on Ant està instal·lat localment.
Igual que JDK i Ant, un usuari pot configurar altres paràmetres de connexió.
Nota : Recordeu sempre de desmarcar la casella de selecció 'Instal·la automàticament'. La casella de selecció s’hauria de marcar per si voleu descarregar l’artefacte d’Internet.
Configuració de la notificació per correu electrònic
La secció de notificació per correu electrònic es mostra al final de la mateixa pàgina web. L'usuari ha de configurar els camps següents:
Feu clic a un botó avançat per veure totes les opcions relacionades amb la notificació per correu electrònic.
- Servidor SMTP: El servidor SMTP emmagatzema la informació sobre el servidor SMTP, és a dir, el número IP o el nom complet del servidor. Com a demostració, en aquest tutorial utilitzarem el servidor SMTP de Gmail.
- Sufix de correu electrònic d'usuari per defecte : Es pot proporcionar un sufix de correu electrònic en aquest camp que es pot afegir amb el nom d'usuari i que es pot utilitzar per enviar la notificació per correu electrònic.
- Adreça de correu electrònic d’administració del sistema : L'adreça de correu electrònic d'administrador s'utilitza com a identificador de correu electrònic del remitent des del qual s'enviarien totes les notificacions.
- URL d’Hudson : Si és probable que publiqueu informes o creeu informació a la notificació per correu electrònic, cal que proporcioneu l'URL Hudson. S’utilitzarà l’URL d’Hudson per accedir als informes. Cal proporcionar un URL vàlid, però, si tots els receptors estan connectats a la intranet, també es pot proporcionar l'adreça IP de la màquina que allotja Hudson.
- Utilitzeu l’autenticació SMTP : Si activeu aquesta opció, el camp de nom d'usuari i contrasenya apareixerà amb finalitats d'autenticació.
- Utilitzeu SS L: L'usuari pot activar SSL seleccionant aquesta opció per connectar-se al servidor SMTP.
- Port SMTP: L'usuari ha de proporcionar el número de port en aquest camp que s'utilitza per comunicar-se amb el servidor de correu. Si no s’especifica cap número de port, s’assignen els números de port per defecte.
- Charset : Aquest camp especifica el joc de caràcters utilitzat per redactar correus electrònics.
Com ja hem esmentat que utilitzaríem el servidor de correu de Gmail per enviar notificacions per correu electrònic en aquest tutorial, consulteu les captures de pantalla següents i feu els canvis necessaris a la secció Notificació per correu electrònic.
Feu clic al botó Desa per desar tots els canvis realitzats recentment.
Creació del Projecte Hudson
Ara que hem instal·lat i configurat Hudson a les nostres màquines, seguirem endavant i crearem Hudson Projects. Igual que la configuració de Hudson, tenim diverses opcions de configuració per a un Projecte Hudson. En aquest tutorial, donaríem llum a les opcions i extensions més útils i més populars.
Per crear i configurar un nou projecte Hudson, seguiu els passos següents:
Feu clic a l'opció 'Nou treball' que apareix al menú de l'esquerra. S’obriria la pàgina següent que mostra les opcions relacionades amb la creació i estils de projecte.
Hi ha nombrosos estils en què es pot crear el projecte / feina. Tingueu en compte que el projecte i la feina es poden utilitzar indistintament, ja que tots dos tendeixen a significar el mateix.
- Construeix un programari d'estil lliure jo b: Aquest és el mètode més utilitzat per crear un nou treball Hudson.
- Construeix una tasca de configuració múltiple : Aquest estil de projecte s'utilitza per executar la varietat de treballs.
- Superviseu un treball extern : Aquest estil de projecte controla un treball extern.
- Copia la feina existent : En cas que tinguem un projecte similar a un projecte existent, aquest estil pot ser útil. Tot el que heu de fer és especificar el nom del treball existent i es crearia la rèplica d’aquest treball.
Tanmateix, per a aquest tutorial, crearíem un projecte d’estil lliure d’Hudson. Escriviu el nom del treball que voleu crear i feu clic al botó D'acord. Si feu clic a D'acord, us dirigirà a la pàgina de configuració del treball, tal com es mostra a continuació:
Configuració del projecte Hudson
Un cop hem creat el treball Hudson, és hora de configurar-lo. Igual que la configuració de Hudson, Hudson Job també té diversos paràmetres de configuració. Parlem dels importants aquí.
Per concretar-ho, hi ha sis tipus de configuració per configurar un treball:
- Configuració general de feines : Aquesta secció permet a l'usuari mencionar la informació bàsica sobre la feina. L'usuari pot enviar la descripció del treball, desactivar-lo, parametritzar-lo, eliminar les versions anteriors i executar més d'una versió per al mateix treball simultàniament.
- Opcions avançades de treball : Aquesta secció permet a l'usuari configurar algunes opcions avançades.
- Gestió del codi font : La secció us permet proporcionar la configuració relacionada amb el sistema de gestió de codi font. Seleccioneu 'Cap' si no s'utilitza cap SCM. Tingueu en compte que l'usuari només podrà veure aquelles opcions SCM el connector del qual es va instal·lar en el moment de la instal·lació d'Hudson. Per afegir més SCM a Hudson, un usuari pot visitar la pàgina Gestiona els connectors i pot instal·lar els connectors necessaris.
- Construeix desencadenants : Aquesta secció permet a l'usuari decidir com iniciar l'execució de la compilació.
- Construeix : Aquesta secció permet a l'usuari proporcionar la configuració del mecanisme de compilació.
- Accions post-compilació : Aquesta secció permet a l'usuari proporcionar paràmetres a les accions posteriors a la compilació que s'executarien un cop finalitzada l'execució de la compilació.
Fem un pas endavant i configurem la feina amb la configuració necessària. L'usuari pot deixar les opcions de 'Configuració general de treballs' i 'Opcions avançades de treball' al seu estat predeterminat.
Configuració de la gestió del codi font
Hem estat parlant molt de la creació del projecte Hudson a les seccions anteriors d’aquest tutorial. El projecte Hudson s'utilitza habitualment amb un projecte real (codi font) que està vinculat a un sistema de gestió de codi font concret. Com es va esmentar al començament d'aquest tutorial, Hudson té un gran suport per a una varietat de SCM. Per esmentar-ne alguns, Hudson admet CVS, Git, SVN, etc. Per tant, en aquest tutorial, configurarem Subversion (SVN) com a SCM.
Pas 1 : Seleccioneu l'opció 'Subversió'. Tan bon punt l’usuari selecciona Subversion, apareixeran les següents opcions.
Pas 2: El següent pas és proporcionar l’URL del dipòsit de l’SVN. Com que he creat un dipòsit local, proporcionaria un URL del dipòsit local. Es pot crear un dipòsit local mitjançant Tortoise SVN.
com imprimir una matriu de cadenes a Java utilitzant el bucle for
Mantingueu tots els altres paràmetres d'aquesta secció per defecte.
Selecció de desencadenants de construcció
El següent pas és configurar els activadors de compilació. Hudson us permet establir activadors per iniciar el procés d'execució de la compilació automàticament. L'usuari pot configurar la tasca perquè es construeixi automàticament si es crea un altre projecte / treball. Alternativament, l’usuari també pot configurar la compilació perquè s’executi periòdicament, és a dir, planificar l’execució de la compilació o l’usuari també pot programar una compilació per buscar novetats al SCM i activar l’execució si algun dels usuaris també pot configurar per iniciar la compilació quan s’executa. una actualització de les dependències maven sempre que el vostre projecte sigui un projecte basat en Maven.
Per establir aquestes opcions, només cal que seleccioneu l’activador de compilació desitjat. L’usuari també s’aprofita per seleccionar més d’una opció alhora.
Mentre seleccioneu algun dels activadors anteriors, és possible que l'usuari hagi de proporcionar informació addicional específica del tipus d'activador.
- Construeix després que es construeixin altres treballs: s'ha d'esmentar el nom dels treballs que poden provocar l'execució d'aquest treball.
- Construeix periòdicament: s’ha d’esmentar l’horari. Hi ha un protocol específic que cal seguir per esmentar la programació. A continuació es mostra més informació sobre l’horari:
- Enquesta SCM: l'usuari ha d'especificar la programació. El camp actua igual que el de 'Construeix periòdicament'.
- Compileu quan les dependències de Maven s'han actualitzat mitjançant la integració de Maven 3: aquesta secció no requereix que s'enviï cap entrada.
Podeu trobar més informació ampliant les icones d’ajuda.
Si l’usuari no vol establir cap d’aquests activadors de compilació, pot decidir construir el treball / projecte manualment. Tot el que ha de fer és fer clic a l'enllaç 'Construeix ara' que apareix al menú de l'esquerra.
Invocació de passos de construcció
Ara que hem vist tots els passos bàsics per configurar un projecte de compilació, anem endavant i afegim alguns passos de compilació més. Aquesta secció permet a l'usuari definir la seva construcció amb diversos passos de construcció.
Cadascun dels passos de construcció té la seva pròpia convenció per definir i invocar.
Per exemple, consulteu la invocació ANT a continuació:
Configuració d'accions post-compilació
De vegades, és necessari i vital fer certes accions posteriors a la construcció. Les accions posteriors a la compilació no són res més que algunes accions que es desencadenen un cop executada la compilació. L’usuari s’aprofita per activar més d’una acció posterior a la creació si ho desitja.
Com tots sabem, els estats i els informes d'execució de la compilació són un dels artefactes o criteris de sortida més importants per al cicle de vida del desenvolupament de programari. Per tant, Hudson us permet publicar l'informe d'execució de la compilació, generar documentació, generar executables / arxius, etc.
Els informes d'execució de proves es poden publicar i enviar als grups d'interès mitjançant correu electrònic. Els resultats d'aquesta compilació poden provocar l'execució d'una altra compilació.
Les accions posteriors a la creació són moltes; dediquem-nos un moment a parlar sobre les més bàsiques.
# 1. Agregueu els resultats de les proves posteriors - La configuració permet a l'usuari agrupar els resultats d'execució de la prova d'aquest treball i els treballs posteriors per produir resultats de prova més impactants. Tot el que ha de fer l’usuari és proporcionar el nom del treball posterior. En el cas que l’usuari no vulgui oferir cap feina aval, però que vulgui aprofitar la configuració, pot dirigir Hudson a la recerca de tots els projectes posteriors.
# 2. Registre les empremtes digitals dels fitxers per fer un seguiment de l’ús - L'usuari pot utilitzar la configuració per rastrejar on s'ha utilitzat un fitxer concret.
# 3. Publiqueu l'informe de resultats de la prova JUnit - La configuració permet a l'usuari publicar l'informe de prova de JUnit llegint i comprenent l'informe personalitzat generat per JUnit. L'informe de resultats de la prova JUnit proporciona a l'usuari una interfície web per visualitzar els informes creats. Aquests informes es poden enviar per correu electrònic als grups d'interès. Per habilitar aquesta opció, només cal que l'usuari proporcioni el camí a l'informe personalitzat generat per JUnit.
# 4. Arxiveu els artefactes - Aquesta configuració permet a l'usuari crear artefactes que es poden distribuir per a un ús posterior. L'artefacte es pot produir després de cada construcció amb èxit. L'usuari pot accedir directament a aquests artefactes a través de la interfície web. Els artefactes poden ser executables de llançament en forma de fitxers de guerra, fitxers jar, carpetes comprimides o tar.
# 5. Publica Javadoc - Aquesta configuració us permet publicar el document java a clients i usuaris a la interfície web de Hudson sempre que el vostre projecte generi el document java. Per habilitar aquesta opció, cal que l'usuari proporcioni la ubicació del document Java contra el directori Javadoc.
Si l'usuari marca per marcar l'opció 'Retenir Javadoc per a cada compilació reeixida', el Javadoc acabat de generar es desarà a la carpeta especificada. Per tant, es mantindrien tots els Javadocs corresponents a la compilació reeixida.
# 6. Construir altres llocs de treball - La configuració permet a l'usuari activar l'execució d'altres treballs un cop executat aquest treball. L'usuari pot activar l'execució de més d'un treball alhora. El paràmetre pot ser útil per executar escenaris de proves unitàries i de integració. Fins i tot l’usuari pot configurar l’opció per crear altres feines, fins i tot si aquest treball falla (inestable).
# 7. Publicar informe de cobertura Cobertura - Cobertura és una eina de proves basada en Java que analitza la cobertura del codi del vostre projecte, és a dir, avalua el percentatge de codi cobert per les proves. Així, la configuració permet a l'usuari generar un informe amb l'anàlisi de la cobertura del codi. La configuració requereix uns quants paràmetres per proporcionar-vos abans de poder obtenir un informe de proves complet sobre la cobertura del codi. Tingueu en compte que aquest paràmetre no ve de manera predeterminada, és a dir, que requereix la instal·lació d'un connector (cosa que vam fer en el moment de la instal·lació, ja que en general forma part dels connectors suggerits).
(Feu clic a la imatge per ampliar-la)
# 8. Notificació per correu electrònic - La notificació per correu electrònic és una de les accions post-compilació més importants. L'opció permet a l'usuari enviar el correu electrònic de notificació de compilació als grups d'interès (desenvolupadors, verificadors, propietaris de productes, etc.) mitjançant la configuració dels seus identificadors de correu electrònic. Hudson pot enviar el correu electrònic quan la compilació és inestable, té èxit, ha fallat, etc. L'usuari també pot configurar activadors de notificacions per correu electrònic. El correu electrònic de notificació es pot enviar a més d'un destinatari alhora proporcionant un espai en blanc entre els seus identificadors de correu electrònic. Consulteu la captura de pantalla següent per comprovar com es poden proporcionar aquests paràmetres.
(Feu clic a la imatge per ampliar-la)
Notes:
- L'usuari pot tornar a aquesta pàgina en qualsevol moment i canviar la configuració si és necessari.
- L'usuari pot veure la informació sobre cada opció a la icona d'ajuda associada.
- L'usuari pot afegir més accions posteriors a la creació amb l'ajuda de connectors.
Conclusió
En aquest tutorial us hem fet conèixer el concepte d’integració contínua. També vam posar èmfasi en la seva importància durant el cicle de vida del desenvolupament de programari, especialment en la vida d’un desenvolupador o comprovador.
Pròxim tutorial núm. 26 : Avançant a la sèrie, ho faríem discutiu alguns conceptes avançats de seleni això ajudaria directament o indirectament a optimitzar el marc d’automatització i aportaria més visibilitat als usuaris. Així, en el següent tutorial, analitzarem la funció de registre, el seu potencial, les capacitats de depuració i molt més.
Nota: Aquest tutorial forma part de Selenium i de les sèries de tutorials de DevOps. Feu clic a l'enllaç següent per obtenir tutorials anteriors i següents de la sèrie DevOps.
Lectura recomanada
- Tutorial de Cogombre Selenium: Integració de Cogombre Java Selenium WebDriver
- Tutorials Eclipse en profunditat per a principiants
- Integració de seleni amb JMeter
- Proves d'automatització mitjançant Eina de cogombre i Selenium - Tutorial Selenium # 30
- Spock per a la integració i proves funcionals amb seleni
- Ús de l'eina d'automatització de Maven Build i la configuració del projecte Maven per a Selenium - Selenium Tutorial # 24
- Integració de Jenkins amb Selenium WebDriver: tutorial pas a pas
- Introducció a Selenium WebDriver - Tutorial Selenium # 8