Introduzione a Jenkins un server di integrazione continua open source

Cosa starai creando

Questo è il primo di una serie in due parti su Jenkins. La seconda parte sarà scritta da Ian Lollar perché ha la migliore immagine del profilo dell'istruttore di qualsiasi contributore Tuts. Ha anche scritto il precedente Setting Up Continuous Integration e Continuous Deployment With Jenkins (Tuts +) che potresti voler leggere anche tu. Come promemoria, parteciperò alle discussioni di seguito. Se hai una domanda o un suggerimento sull'argomento, per favore pubblica un commento qui sotto. Puoi anche twittare me @reifman, scrivermi direttamente via email o twittare su Ian.

Jenkins è un server di integrazione continua estensibile e open source. Costruisce e testa continuamente il tuo software e monitora l'esecuzione e lo stato dei lavori remoti, rendendo più facile per i membri del team e gli utenti ottenere regolarmente il codice stabile più recente.

Nella prima parte di questo tutorial, ti guiderò attraverso l'installazione di Jenkins e come iniziare. Nella seconda parte, Ian andrà più in profondità, concentrandosi in particolare sull'utilizzo del plugin del flusso di lavoro di Jenkins. Ulteriori informazioni a riguardo sono disponibili sul sito Web della documentazione di CloudBees.

Installazione di Jenkins

Crea il tuo Droplet

Ti guiderò attraverso l'installazione di Jenkins su un'istanza di Ubuntu 14.04 su Digital Ocean. Dopo esserti registrato o aver effettuato l'accesso al tuo account Digital Ocean, dovremo creare un nuovo droplet per il nostro server Jenkins.

Clicca il Crea Droplet pulsante per iniziare. Sto usando jenkins.lookahead.io come mio nome host. Possiamo usare la più piccola istanza di droplet di $ 5 / mo. e 512 MB.

Puoi utilizzare la regione più vicina per te:

Quindi, scegli l'immagine di Ubuntu 14.04 e fai clic Crea Droplet:

Dopo un minuto circa, verrai reindirizzato alla tua pagina di configurazione droplet con il suo indirizzo IP, ad es. 45.55.220.200:

Riceverai anche un'email con le tue credenziali di accesso:

Configura il tuo record DNS

Quindi, passa al tuo registrar di domini e configura un record DNS A per il tuo nome host in modo che punti al dato indirizzo IP:

Accesso al tuo server

Per accedere al server, utilizzare la password nell'e-mail Digital Ocean. Avrai bisogno di un programma terminale SSH:

ssh [email protected]

Quindi, crea un utente amministratore nel gruppo sudo:

adduser admin usermod -a -G sudo admin

Disconnettersi e riconnettersi con l'utente amministratore:

ssh [email protected]

Installazione di Jenkins

Per aggiornare Ubuntu con gli elenchi di fonti Jenkins, digitare i seguenti comandi:

sudo wget -q -O - http://pkg.jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add - sudo sh -c 'echo deb http://pkg.jenkins-ci.org/debian binary /> /etc/apt/sources.list.d/jenkins.list' sudo apt-get update

Per installare correttamente Jenkins, ho avuto successo dopo aver aggiornato il mio server e installato git in anticipo:

sudo apt-get update sudo apt-get dist-upgrade sudo apt-get install git sudo apt-get install jenkins

Ho anche dovuto riavviare e inizialmente avviare manualmente il servizio Jenkins. Il tuo chilometraggio può variare.

sudo riavviare il servizio sudo jenkins start

Quindi, visita il tuo server utilizzando la porta 8080, ad es. http://jenkins.lookahead.io:8080, e dovresti vedere la schermata di avvio di Jenkins:

Iniziare con Jenkins

Ora, passiamo attraverso l'interfaccia utente di Jenkins. Sul lato sinistro della pagina, noterai i menu di navigazione, ad es. Nuovo elemento, persone, cronologia delle costruzioni, gestione di Jenkins Credenziali. Ci sono anche i Build Queue e Crea stato esecutore riquadri.

Gestione delle credenziali di Jenkins

Inizialmente, Jenkins è completamente insicuro. Configuriamo il suo Sicurezza globale dal Gestisci Jenkins opzione del menu della barra laterale:

Clic Configura sicurezza globale:

Quindi, dalla schermata iniziale, Iscriviti per creare un nuovo account e accedere nuovamente:

Quindi, torna al Configura sicurezza globale pagina e spegni la casella accanto a "Consenti agli utenti di registrarsi ":

Ciò impedirà ai visitatori non autorizzati di creare nuovi account.

Il menu Persone

È possibile gestire gli account sul sistema dal Persone menu nella barra laterale di sinistra:

Clicca sul nome dell'utente. Questo caricherà un altro livello di voci del menu della barra laterale sinistra specifiche per la persona selezionata:

Gestione dei plugin

Dato che probabilmente vorremmo integrare i repository GitHub nel nostro processo di compilazione a un certo punto, ecco come installare il plugin GitHub.

Clicca il Gestisci Jenkins link, e quindi il Gestisci i plugin collegamento. Passare al A disposizione scheda e cerca il GitHub Plugin.

Nella mia installazione, ho scoperto che dovevo scaricare manualmente il plugin github.hpi dal repository di codice Jenkins e quindi installare manualmente il plugin GitHub. 

Dal tuo gestore di plugin Jenkins, fai clic su Avanzate tab:

Scorri fino a Carica plugin e scegli il github.hpi file:

Dovresti vedere una schermata di installazione del plugin come questa:

Creazione di elementi del progetto e di esempi di costruzione

Ora creeremo un progetto di esempio che integra un semplice comando pull e shell di GitHub. Dalla pagina principale di Jenkins, clicca Nuovo oggetto:

Digitare Shell Test e selezionare Progetto Freestyle:

Dopo aver fatto clic ok, puoi configurare ulteriormente il progetto. Ad esempio, sto utilizzando il repository Ian di Hello-Jenkins da Impostazione dell'integrazione continua e Distribuzione continua con Jenkins (Tuts +):

Se scorri verso il basso, puoi anche impostare le opzioni di compilazione e configurare un comando di shell di esempio, ad es. uptime. In alternativa, è possibile utilizzarlo per eseguire qualsiasi script di build necessario.

Una volta salvate le opzioni, vedrai la pagina del progetto Jenkins, ad es. Test della shell di progetto. C'è un menu sul lato sinistro per il progetto. Se clicchi Costruisci ora, Jenkins pianificherà e costruirà il tuo progetto.

Il Costruisci la storia può essere visto nel riquadro di sinistra. Se fai clic su una delle storie di costruzione, vedrai i risultati di costruzione di Jenkins:

Clic Uscita console per vedere i risultati completi. Puoi vedere i risultati del comando git pull e del tempo di uptime shell:

Ora hai una panoramica di base su come i progetti e le build di Jenkins funzionano.

Altre risorse di Jenkins

Se desideri seguire un tutorial video più dettagliato, dai un'occhiata a Continuous Integration per i progetti PHP usando Jenkins, Composer, PHPUnit, BitBucket e Digital Ocean:

Puoi anche dare un'occhiata al precedente tutorial di Ian su Jenkins: Impostazione dell'integrazione continua e distribuzione continua con Jenkins (Tuts +). Anche la documentazione e il wiki del sito Web Jenkins sono abbastanza approfonditi.

Qual'è il prossimo?

Di seguito, Ian ti guiderà attraverso l'uso del plugin del flusso di lavoro di Jenkins. Se la seconda parte non è ancora disponibile, controlla il tutorial precedente di Ian, Configurazione dell'integrazione continua e Distribuzione continua con Jenkins (Tuts +) e il sito Web della documentazione sul plugin del flusso di lavoro di CloudBees.

Non esitate a postare le vostre domande e commenti qui sotto. Puoi anche twittare me @reifman, scrivermi direttamente via email o twittare su Ian. Puoi anche sfogliare le pagine di Tuts + istruttore per altri tutorial da me, Jeff Reifman e Ian Lollar.

Link correlati

  • Sito Web Jenkins
  • Plugin di flusso di lavoro Jenkins su Github
  • Impostazione dell'integrazione continua e della distribuzione continua con Jenkins (Tuts +)
  • Integrazione continua per progetti PHP con Jenkins, Composer, PHPUnit, BItBucket e Digital Ocean (YouTube)