hudson continuous integration tool tutorial selenium tutorial 25
Negli ultimi due tutorial della serie Selenium, abbiamo discusso i due strumenti di compilazione più importanti: FORMICA e Esperto di . Abbiamo discusso del loro significato e importanza pratica.
Nel nostro precedente tutorial nella serie DevOps, abbiamo imparato a conoscere Integrazione di Jenkins con selenio .
Nella corrente Tutorial di formazione online sul selenio , discuteremo a strumento di integrazione continua noto come Hudson .
Leggi tutto => Guida esemplare su DevOps
Nota: Questo tutorial fa parte della serie di tutorial Selenium e DevOps. Fare clic sui collegamenti appropriati per passare alla serie interessata.
Studieremmo la sua importanza e i benefici da cui trarre vantaggio qualsiasi strumento di integrazione continua . Guarderemo l'Hudson sin dall'inizio, dalla sua installazione alle sue impostazioni avanzate.
Cosa imparerai:
- Integrazione continua
- Hudson - Strumento di integrazione continua
- Installazione di Hudson
- Configurazione Hudson
- Configurazione della notifica e-mail
- Creazione del progetto Hudson
- Configurazione del progetto Hudson
- Configurazione della gestione del codice sorgente
- Selezione di trigger di build
- Richiamo dei passaggi di costruzione
- Configurazione delle azioni di post-compilazione
- Conclusione
- Lettura consigliata
Integrazione continua
Molte volte, finiamo per lavorare a un progetto in cui un gran numero di sviluppatori e tester stanno lavorando insieme su diversi moduli. Sviluppatori e tester lavorano sui propri moduli sviluppando in tal modo eseguibili. Questi prodotti di lavoro vengono poi integrati a intervalli regolari. Pertanto, ogni volta che creiamo un codice di sviluppo, esso deve essere integrato, testato e costruito per garantire che il codice sviluppato non si rompa o introduca errori o difetti.
Questo processo di costruzione e test del lavoro di sviluppo integrato a intervalli regolari è noto come Integrazione continua (CI) . L'integrazione continua consente di identificare e risolvere i difetti o gli errori il prima possibile nel ciclo di vita dello sviluppo, ovvero più vicino al momento in cui sono stati introdotti.
Il sistema di integrazione continua costruisce e testa l'applicazione non appena il codice nuovo / modificato viene assegnato all'acronimo del sistema di gestione del controllo del codice sorgente come SCM. Con i suoi grandi vantaggi e il suo impatto sui settori, è diventato parte integrante del ciclo di vita dello sviluppo software ed è praticato obbligatoriamente.
Hudson - Strumento di integrazione continua
L'integrazione continua può essere eseguita automaticamente. Hudson è uno degli strumenti comunemente noti per eseguire l'integrazione continua. Hudson è uno strumento di integrazione continua open source basato su Java. Come qualsiasi altro strumento di integrazione continua, Hudson fornisce ai team il compito di attivare build e test con qualsiasi modifica nel sistema di gestione del controllo del codice sorgente.
Hudson supporta un'ampia gamma di strumenti e plug-in.
Hudson:
- Supporta strumenti SCM come CVS, Subversion (SVN), Git ecc.
- È in grado di creare progetti basati su ANT, progetti basati su Maven ecc.
- È in grado di eseguire script della shell e comandi batch di Windows
- È in grado di inviare rapporti, notifiche ecc. Tramite e-mail, SMS, Skype ecc.
Installazione di Hudson
Prerequisiti
Per poter utilizzare Hudson, abbiamo bisogno che le seguenti cose siano a posto prima di iniziare:
- Repository del codice sorgente (SVN / Git / CVS ecc.)
- Build Script (Ant / Maven ecc.)
Installazione
Hudson può essere facilmente installato sulla varietà di ambienti. Hudson può essere installato sia sulla macchina Linux che sulla macchina Windows. È anche distribuito come pacchetto specifico per il tipo di sistema operativo per diverse versioni di Linux, rendendo così l'installazione un compito di pochi minuti. Hudson può essere eseguito come applicazione standalone o all'interno del Servlet Container. In questo tutorial, spiegheremo l'installazione di Hudson su macchina Windows. Esistono due approcci distinti per installare Hudson.
- Utilizzando il file WAR
- Utilizzo del pacchetto nativo
I pacchetti nativi sono disponibili per Ubuntu / Debian, Oracle Linux, Redhat / Fedora / CentOS e openSUSE.
Per questo tutorial, discuteremo l'installazione tramite file WAR. Cerchiamo di discutere l'intero processo passo dopo passo.
Passo 1 : Scarica il file WAR di Hudson dal sito web ufficiale di Hudson - ' http://hudson-ci.org/ '. Conserva il file war nella posizione desiderata nel file system locale. Questo file WAR può essere avviato direttamente tramite prompt dei comandi o può essere utilizzato in Servlet Container. Il WAR è un file eseguibile che ha un contenitore servlet incorporato in se stesso.
Passo 2 : Il passaggio successivo consiste nell'inizializzare l'interfaccia utente Web di Hudson. Per questo, dobbiamo aprire un prompt dei comandi e andare alla cartella in cui è conservata la guerra di Hudson.
- Digita java -jar hudson-3.0.1.war –httpPort = 8099
Il comando precedente mostrerebbe che la configurazione iniziale deve essere eseguita su Hudson Dashboard. Fare riferimento alla schermata seguente.
(Clicca per ingrandire l'immagine)
Nota: è consigliabile avviare Hudson come servizio su macchina Windows o Linux.
Passaggio 3 : Per poter accedere alla finestra di Hudson, apri il browser e avvia Hudson.
- Digita 'http: // localhost: 8099 /': si aprirà la finestra di Hudson.
(Clicca per ingrandire l'immagine)
Passaggio 4 : Selezionare i plugin desiderati e fare clic sul pulsante Fine. Si prega di pazientare poiché è probabile che siano necessari alcuni minuti per installare tutti i plugin.
Nota : Sono disponibili diverse opzioni per fornire supporto per SCM. Seleziona l'opzione SCM che desideri utilizzare.
Una volta installati tutti i plugin, un utente può visualizzare la dashboard di Hudson.
Configurazione Hudson
Ora che Hudson Dashboard è pronto, il passaggio successivo è configurare Hudson. Discutiamo di nuovo l'intero processo in passaggi:
Passo 1 : Per configurare Hudson, fare clic sul collegamento 'Gestisci Hudson' visualizzato nel menu a sinistra.
Passo 2 : Fare clic sul collegamento 'Configura sistema' nel passaggio successivo. Fare riferimento alla seguente schermata.
Passaggio 3 : Non appena si fa clic sul collegamento Configura sistema, dovrebbero essere visualizzate numerose sezioni per i parametri di connessione. Aggiungere una voce a JDK come mostrato nella figura seguente. L'utente deve fornire il nome dell'installazione JDK e l'ubicazione in cui è installato java. È possibile aggiungere più di un'istanza Java.
L'utente può anche installare JDK automaticamente selezionando la casella di controllo 'Installa automaticamente'.
Passaggio 4 : Nella fase successiva, aggiungere una voce ad Ant come mostrato nella figura seguente. L'utente deve fornire il nome dell'installazione di Ant e la posizione in cui Ant è installato localmente.
Come JDK e Ant, un utente può configurare altri parametri di connessione.
Nota : Ricorda sempre di deselezionare la casella di controllo 'Installa automaticamente'. La casella di controllo dovrebbe essere selezionata nel caso in cui si desideri scaricare l'artefatto da Internet.
Configurazione della notifica e-mail
La sezione di notifica e-mail viene visualizzata alla fine della stessa pagina web. L'utente deve configurare i seguenti campi:
Fare clic su un pulsante avanzato per visualizzare tutte le opzioni relative alla notifica e-mail.
- Server SMTP: Il server SMTP memorizza le informazioni sul server SMTP, ad esempio il numero IP o il nome completo del server. A scopo dimostrativo, in questo tutorial utilizzeremo il server SMTP di Gmail.
- Suffisso e-mail utente predefinito : In questo campo è possibile fornire un suffisso e-mail che potrebbe essere suffisso con il nome utente e può essere utilizzato per inviare la notifica e-mail.
- Indirizzo e-mail amministratore di sistema : L'indirizzo e-mail dell'amministratore viene utilizzato come ID e-mail del mittente da cui verranno inviate tutte le notifiche.
- URL di Hudson : Se è probabile che pubblichi rapporti o crei informazioni all'interno della notifica e-mail, è necessario fornire l'URL di Hudson. L'URL Hudson verrà utilizzato per accedere ai rapporti. È necessario fornire un URL valido, tuttavia, se tutti i ricevitori sono collegati alla intranet, è possibile fornire anche l'indirizzo IP della macchina che ospita Hudson.
- Usa autenticazione SMTP : Abilitando questa opzione, il campo nome utente e password vengono visualizzati a scopo di autenticazione.
- Usa SS L: L'utente può attivare SSL selezionando questa opzione per connettersi al server SMTP.
- Porta SMTP: L'utente deve fornire il numero di porta in questo campo che viene utilizzato per comunicare con il server di posta. Se non viene specificato alcun numero di porta, vengono assegnati i numeri di porta predefiniti.
- Charset : Questo campo specifica il set di caratteri utilizzato per comporre i messaggi di posta elettronica.
Come abbiamo già accennato, utilizzeremo il server di posta Gmail per inviare notifiche e-mail in questo tutorial, fare riferimento ai seguenti screenshot e apportare le modifiche necessarie nella sezione Notifiche e-mail.
Fare clic sul pulsante Salva per salvare tutte le modifiche appena apportate.
Creazione del progetto Hudson
Ora che abbiamo installato e configurato Hudson sulle nostre macchine, andremo avanti e creeremo progetti Hudson. Ad esempio, la configurazione di Hudson, abbiamo diverse opzioni di configurazione per un progetto Hudson. In questo tutorial, faremo luce sulle opzioni e le estensioni più utili e comunemente utilizzate.
Per creare e configurare un nuovo progetto Hudson, segui i passaggi successivi:
Fare clic sull'opzione 'Nuovo lavoro' visualizzata nel menu a sinistra. Si aprirà la pagina seguente che mostra le opzioni relative alla creazione del progetto e agli stili del progetto.
Esistono numerosi stili in cui è possibile creare il progetto / lavoro. Prendi nota che progetto e lavoro possono essere usati in modo intercambiabile poiché entrambi tendono a significare la stessa cosa.
- Crea un software in stile libero jo b: Questo è il metodo più comunemente usato per creare un nuovo lavoro Hudson.
- Crea un lavoro multi-configurazione : Questo stile di progetto viene utilizzato per eseguire la varietà di lavori.
- Monitorare un lavoro esterno : Questo stile di progetto monitora un lavoro esterno.
- Copia lavoro esistente : Nel caso in cui abbiamo un progetto simile a un progetto esistente, questo stile può essere utile. Tutto quello che devi fare è specificare il nome del lavoro esistente e verrà creata la replica di questo lavoro.
Tuttavia, per questo tutorial, creeremo un progetto Hudson freestyle. Digita il nome del lavoro che desideri creare e fai clic sul pulsante OK. Facendo clic su OK verrai indirizzato alla pagina di configurazione del lavoro come mostrato di seguito:
Configurazione del progetto Hudson
Una volta creato il lavoro Hudson, è ora di configurarlo. Come la configurazione di Hudson, anche Hudson Job ha varie impostazioni di configurazione. Parliamo di quelli importanti qui.
Per essere precisi, esistono sei tipi di impostazioni per configurare un lavoro:
- Impostazioni generali del lavoro : Questa sezione consente all'utente di menzionare le informazioni di base sul lavoro. L'utente può inviare la descrizione del lavoro, disabilitare il lavoro, parametrizzare il lavoro, eliminare le build precedenti e può eseguire più di una build contemporaneamente per lo stesso lavoro.
- Opzioni di lavoro avanzate : Questa sezione consente all'utente di configurare alcune opzioni avanzate.
- Gestione del codice sorgente : La sezione consente di fornire le impostazioni relative al sistema di gestione del codice sorgente. Selezionare 'Nessuno' se non viene utilizzato alcun SCM. Tieni presente che l'utente sarà in grado di vedere solo quelle opzioni SCM il cui plugin è stato installato al momento dell'installazione di Hudson. Per aggiungere più SCM a Hudson, un utente può visitare la pagina Gestisci plug-in e può installare i plug-in richiesti.
- Crea trigger : Questa sezione consente all'utente di decidere come avviare l'esecuzione della build.
- Costruire : Questa sezione consente all'utente di fornire le impostazioni del meccanismo di compilazione.
- Azioni post-compilazione : Questa sezione consente all'utente di fornire le impostazioni per le azioni post-compilazione che verrebbero eseguite una volta completata l'esecuzione della compilazione.
Facciamo un passo avanti e configuriamo il lavoro con le impostazioni necessarie. L'utente può lasciare le opzioni in 'Impostazioni generali lavoro' e 'Opzioni lavoro avanzate' al loro stato predefinito.
Configurazione della gestione del codice sorgente
Abbiamo parlato molto della creazione del progetto Hudson nelle sezioni precedenti di questo tutorial. Il progetto Hudson viene solitamente utilizzato con un progetto reale (codice sorgente) che è collegato a un particolare sistema di gestione del codice sorgente. Come accennato all'inizio di questo tutorial, Hudson ha un ottimo supporto per una varietà di SCM. Per citarne alcuni, Hudson supporta CVS, Git, SVN ecc. Quindi, in questo tutorial, configureremo Subversion (SVN) come SCM.
Passo 1 : Seleziona l'opzione 'Subversion'. Non appena l'utente seleziona Subversion, appariranno le seguenti opzioni.
Passo 2: Il passaggio successivo consiste nel fornire l ''URL del repository' di SVN. Poiché ho creato un repository locale, fornirei un URL del repository locale. È possibile creare un repository locale utilizzando Tortoise SVN.
aggiungi un elemento a un array
Mantieni tutte le altre impostazioni in questa sezione sui valori predefiniti.
Selezione di trigger di build
Il passaggio successivo consiste nel configurare i trigger di build. Hudson ti consente di impostare trigger per avviare automaticamente il processo di esecuzione della build. L'utente può configurare il lavoro in modo che venga creato automaticamente se viene creato un altro progetto / lavoro. In alternativa, l'utente può anche impostare la build in modo che venga eseguita periodicamente, ad esempio pianificando l'esecuzione della build o l'utente può anche pianificare una build per cercare nuovi commit in SCM e attivare l'esecuzione se uno qualsiasi degli utenti può anche impostare l'avvio della build viene eseguita ogni volta che c'è un aggiornamento nelle dipendenze di Maven a condizione che il tuo progetto sia un progetto basato su Maven.
Per impostare queste opzioni, tutto ciò che devi fare è selezionare il trigger di build desiderato. L'utente può anche selezionare più di un'opzione alla volta.
Durante la selezione di uno dei trigger di cui sopra, l'utente potrebbe dover fornire alcune informazioni aggiuntive specifiche per il tipo di trigger.
- Crea dopo che sono stati creati altri lavori: il nome dei lavori che possono attivare l'esecuzione di questo lavoro dovrebbe essere menzionato.
- Costruisci periodicamente: il programma dovrebbe essere menzionato. C'è un protocollo specifico che deve essere seguito per menzionare il programma. Di seguito sono riportate ulteriori informazioni sulla pianificazione:
- Sondaggio SCM: l'utente deve specificare la pianificazione. Il campo si comporta come quello di 'Build periodically'.
- Crea quando le dipendenze Maven sono state aggiornate dall'integrazione Maven 3: questa sezione non richiede l'invio di alcun input.
Ulteriori informazioni possono essere trovate espandendo le icone della Guida.
Se l'utente non desidera impostare nessuno di questi trigger di build, può decidere di creare il lavoro / progetto manualmente. Tutto quello che deve fare è cliccare sul link 'Build Now' visualizzato nel menu a sinistra.
Richiamo dei passaggi di costruzione
Ora che abbiamo visto tutti i passaggi di base per configurare un progetto di compilazione, andiamo avanti e aggiungiamo altri passaggi di compilazione. Questa sezione consente all'utente di definire la propria build con più passaggi di build.
Ciascuna delle fasi di compilazione ha la propria convenzione da definire e richiamare.
Ad esempio, controlla l'invocazione ANT di seguito:
Configurazione delle azioni di post-compilazione
A volte, diventa necessario oltre che vitale eseguire determinate azioni post-build. Le azioni post-compilazione non sono altro che alcune azioni che vengono attivate una volta eseguita la compilazione. L'utente viene sfruttato per attivare più di un'azione post-build se lo desidera.
Come tutti sappiamo, gli stati di esecuzione della build ei report sono uno degli artefatti o criteri di uscita più importanti per un ciclo di vita di sviluppo software. Pertanto, Hudson ti consente di pubblicare il report di esecuzione della build, generare documentazione, generare eseguibili / archivi ecc.
I rapporti sull'esecuzione dei test possono essere pubblicati e inviati agli stakeholder tramite e-mail. I risultati di questa build possono attivare l'esecuzione di un'altra build.
Le azioni post-build sono molte, prendiamoci un momento per discutere le più elementari.
# 1. Risultati aggregati dei test a valle - L'impostazione consente all'utente di aggregare i risultati dell'esecuzione del test di questo lavoro e dei lavori a valle insieme per produrre risultati di prova più efficaci. Tutto ciò che l'utente deve fare è fornire il nome del lavoro a valle. Nel caso in cui l'utente non desideri fornire alcun lavoro a valle ma desideri comunque sfruttare l'impostazione, può indirizzare l'Hudson a trovare tutti i progetti a valle.
# 2. Registra le impronte digitali dei file per monitorare l'utilizzo - L'impostazione può essere utilizzata dall'utente per rintracciare dove è stato utilizzato un particolare file.
# 3. Pubblica il report dei risultati del test JUnit - L'impostazione consente all'utente di pubblicare il rapporto di prova JUnit leggendo e comprendendo il rapporto personalizzato generato da JUnit. Il report dei risultati del test JUnit fornisce all'utente un'interfaccia web per visualizzare i report creati. Questi rapporti possono essere inviati tramite e-mail agli stakeholder. Per abilitare questa opzione, tutto ciò che l'utente deve fare è fornire il percorso al report personalizzato generato da JUnit.
# 4. Archivia gli artefatti - Questa impostazione consente all'utente di creare artefatti che possono essere distribuiti per un ulteriore utilizzo. L'artefatto può essere prodotto dopo ogni build riuscita. Questi artefatti sono accessibili direttamente dall'utente tramite l'interfaccia web. Gli artefatti possono essere eseguibili di rilascio sotto forma di file war, file jar, cartelle zippate o tar.
# 5. Pubblica Javadoc - Questa impostazione consente di pubblicare il documento java per clienti e utenti sull'interfaccia web di Hudson, a condizione che il progetto generi il documento java. Per abilitare questa opzione, un utente deve fornire la posizione della directory Java Doc rispetto a Javadoc.
Se l'utente seleziona l'opzione 'Conserva Javadoc per ogni build riuscita', il Javadoc appena generato verrà salvato nella cartella specificata. Pertanto, tutti i Javadoc corrispondenti alla build riuscita verranno mantenuti.
# 6. Costruisci altri lavori - L'impostazione consente all'utente di attivare l'esecuzione di altri lavori una volta che questo lavoro è stato eseguito. L'utente può attivare l'esecuzione di più di un lavoro contemporaneamente. L'impostazione può essere utile per eseguire scenari di unit test e test di integrazione. L'utente può anche impostare l'opzione per creare altri lavori anche se questo lavoro fallisce (instabile).
# 7. Pubblica rapporto di copertura Cobertura - Cobertura è uno strumento di test basato su java che analizza la copertura del codice del progetto, vale a dire valuta la percentuale di codice coperta dai test. L'impostazione consente quindi all'utente di generare un report con l'analisi della copertura del codice. L'impostazione richiede la fornitura di alcuni parametri prima di poter ottenere un rapporto di test completo sulla copertura del codice. Tieni presente che questa impostazione non è disponibile per impostazione predefinita, ovvero richiede l'installazione di un plug-in (cosa che abbiamo fatto al momento dell'installazione in quanto generalmente fa parte dei plug-in suggeriti).
(Clicca sull'immagine per ingrandirla)
# 8. Notifica per email - La notifica e-mail è una delle azioni post-compilazione più importanti. L'opzione consente all'utente di inviare l'email di notifica della build agli stakeholder (sviluppatori, tester, proprietari di prodotti, ecc.) Configurando i loro ID email. Hudson può inviare l'email quando la build è instabile, riuscita, non riuscita, ecc. L'utente può anche impostare trigger di notifica e-mail. L'e-mail di notifica può essere inviata a più di un destinatario contemporaneamente semplicemente fornendo uno spazio vuoto tra i loro ID e-mail. Fare riferimento allo screenshot qui sotto per verificare come possono essere fornite queste impostazioni.
(Clicca sull'immagine per ingrandirla)
Appunti:
- L'utente può tornare in qualsiasi momento a questa pagina e modificare le impostazioni se necessario.
- L'utente può visualizzare le informazioni su ciascuna opzione all'interno dell'icona della guida ad essa associata.
- L'utente può aggiungere più azioni post-compilazione con l'aiuto dei plugin.
Conclusione
In questo tutorial, ti abbiamo fatto conoscere il concetto di integrazione continua. Abbiamo anche posto l'accento sulla sua importanza durante il ciclo di vita di uno sviluppo software, in particolare nella vita di uno sviluppatore o tester.
Prossimo tutorial n. 26 : Andando avanti nella serie, lo faremmo discutere alcuni concetti avanzati di selenio ciò aiuterebbe direttamente o indirettamente a ottimizzare il framework di automazione e darebbe maggiore visibilità agli utenti. Pertanto, nel prossimo tutorial, discuteremo la funzionalità di registrazione, il suo potenziale, le capacità di debug e molto altro.
Nota: Questo tutorial fa parte della serie di tutorial Selenium e DevOps. Fare clic sul collegamento sottostante per i tutorial precedenti e successivi della serie DevOps.
Tutorial PREV | PROSSIMO Tutorial
Lettura consigliata
- Esercitazione sul selenio di cetriolo: integrazione con WebDriver di selenio Java di cetriolo
- Tutorial approfonditi su Eclipse per principianti
- Integrazione del selenio con JMeter
- Test di automazione utilizzando lo strumento Cucumber e il selenio - Tutorial sul selenio # 30
- Spock per integrazione e test funzionali con selenio
- Uso di Maven Build Automation Tool e Maven Project Setup for Selenium - Selenium Tutorial # 24
- Integrazione di Jenkins con Selenium WebDriver: tutorial passo passo
- Introduzione a Selenium WebDriver - Selenium Tutorial # 8