Introduksjon til Jenkins En kontinuerlig integrasjonsserver for åpen kildekode

Hva du skal skape

Dette er den første av en todelt serie på Jenkins. Del to vil bli skrevet av Ian Lollar fordi han har det beste instruktørprofilbildet av noen Tuts-bidragsyter. Han skrev også den tidligere Opprett Kontinuerlig Integrasjon og kontinuerlig distribusjon med Jenkins (Tuts +) som du kanskje vil lese også. Akkurat som en påminnelse, deltar jeg i diskusjonene nedenfor. Hvis du har et spørsmål eller et emneforslag, vennligst legg inn en kommentar nedenfor. Du kan også tweet meg @ reifman, email meg direkte eller tweet på Ian.

Jenkins er en utvidbar, åpen kildekode kontinuerlig integrering server. Den bygger og tester programvaren kontinuerlig og overvåker utførelsen og statusen til eksterne jobber, noe som gjør det enklere for lagmedlemmer og brukere å regelmessig oppnå den nyeste stabile koden.

I en del av denne veiledningen vil jeg veilede deg gjennom å installere Jenkins og komme i gang. I del to, vil Ian gå mer i dybden, spesielt med fokus på å bruke Jenkins Workflow Plugin. Mer informasjon om dette er tilgjengelig på CloudBees dokumentasjonsside.

Installere Jenkins

Lag din dråpe

Jeg skal gå deg gjennom å installere Jenkins på en Ubuntu 14.04-forekomst på Digital Ocean. Når du har registrert eller logget på Digital Ocean-kontoen, må du opprette en ny dråpe for vår Jenkins-server.

Klikk på Lag dråpe knappen for å komme i gang. Jeg bruker jenkins.lookahead.io som vertsnavn. Vi kan bruke den minste dråpeeksemplen på $ 5 / mo. og 512 MB.

Du kan bruke hvilken region som er nærmest for deg:

Deretter velger du Ubuntu 14.04 bildet og klikker Lag dråpe:

Etter et minutt vil du bli omdirigert til din dråpes konfigurasjonsside med sin IP-adresse, f.eks. 45.55.220.200:

Du vil også motta en epost med påloggingsinformasjonen din:

Konfigurer DNS-posten din

Deretter går du over til domeneregistratoren din og konfigurerer en DNS A-post for vertsnavnet ditt for å peke til den oppgitte IP-adressen:

Tilgang til serveren din

For å logge på serveren din, bruk passordet i Digital Ocean-e-posten. Du trenger et SSH-terminalprogram:

ssh [email protected]

Deretter oppretter du en admin bruker i sudo-gruppen:

adduser admin usermod -a -G sudo admin

Logg ut og logg deg inn igjen med admin brukeren:

ssh [email protected]

Installere Jenkins

For å oppdatere Ubuntu med Jenkins kildelister, skriv inn følgende kommandoer:

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

For å installere Jenkins riktig, hadde jeg suksess etter å ha oppdatert serveren min og installert git på forhånd:

sudo apt-get oppdatering sudo apt-get dist-oppgradering sudo apt-get installer git sudo apt-get install jenkins

Jeg måtte også starte opp og først starte Jenkins-tjenesten manuelt. Kjørelengden din kan variere.

sudo reboot sudo service jenkins start

Deretter kan du besøke serveren din ved hjelp av port 8080, f.eks. http://jenkins.lookahead.io:8080, og du bør se Jenkins oppstart skjerm:

Komme i gang med Jenkins

Nå, la oss gå gjennom Jenkins brukergrensesnitt. På venstre side av siden vil du legge merke til navigasjonsmenyene, f.eks. Nyhet, Personer, Bygg historie, Administrer Jenkins og legitimasjon. Det er også Bygg kø og Bygg eksekutorstatus ruter.

Administrere Jenkins legitimasjon

I utgangspunktet er Jenkins helt usikker. La oss konfigurere det Global sikkerhet fra Administrer Jenkins sidebar menyalternativ:

Klikk Konfigurer global sikkerhet:

Deretter fra startskjermbildet, melde deg på å opprette en ny konto og logge inn igjen:

Deretter går du tilbake til Konfigurer global sikkerhet side og skru av avkryssingsboksen ved siden av "Tillat brukere å registrere seg ":

Dette forhindrer uautoriserte besøkende i å opprette nye kontoer.

Folkemenyen

Du kan administrere kontoene på systemet fra Mennesker meny i venstre sidefelt:

Klikk på navnet på brukeren. Dette vil laste inn et annet nivå av menyelementer på venstre side som er spesifikk for den valgte personen:

Administrere plugins

Siden vi sannsynligvis vil integrere GitHub-depotene i vår byggeprosess på et tidspunkt, kan du installere GitHub-plugin-modulen.

Klikk på Administrer Jenkins lenke, og deretter Administrer plugger link. Bytt til Tilgjengelig kategorien, og søk etter GitHub Plugin.

I installasjonen fant jeg at jeg måtte manuelt laste ned github.hpi-pluginet fra Jenkins kodenavn og deretter installere GitHub Plugin manuelt. 

Fra Jenkins plugin manager klikker du på Avansert tab:

Rull ned til Last opp plugin og velg github.hpi fil:

Du bør se en plugin installasjonsskjerm slik:

Opprette prosjektelementer og utvalgsbygg

Nå skal vi opprette et prøveprosjekt som integrerer en enkel GitHub repository pull and shell-kommando. Fra den viktigste Jenkins-siden, klikk Ny gjenstand:

Skriv inn Shell Test og velg Freestyle Project:

Etter at du klikker OK, Du kan konfigurere prosjektet videre. Eksempelvis bruker jeg Ians Hello-Jenkins-depot fra å sette opp kontinuerlig integrasjon og kontinuerlig distribusjon med Jenkins (Tuts +):

Hvis du ruller ned, kan du også angi byggealternativer og konfigurere en kommandokontroll, f.eks. oppetid. Alternativt kan du bruke dette til å kjøre et hvilket som helst bygge skript du trengte.

Når du lagrer alternativene, vil du se Jenkins prosjektside, f.eks. Prosjekt Shell Test. Det er en meny på venstre side for prosjektet. Hvis du klikker Bygg nå, Jenkins planlegger og bygger prosjektet ditt.

De Bygg historie kan ses i venstre rute. Hvis du klikker på en av bygningshistoriene, ser du Jenkins bygge-resultater:

Klikk Konsollutgang for å se de fulle resultatene. Du kan se git pull og oppetid shell kommandoen resultater:

Nå har du en grunnleggende gjennomgang av hvordan Jenkins prosjekter og bygger fungerer.

Andre Jenkins Resources

Hvis du vil følge med på en mer detaljert videoopplæring, kan du sjekke ut Kontinuerlig Integrasjon for PHP-prosjekter ved hjelp av Jenkins, Composer, PHPUnit, BitBucket og Digital Ocean:

Du kan også sjekke ut Ians tidligere Jenkins-opplæring: Sette opp kontinuerlig integrasjon og kontinuerlig distribusjon med Jenkins (Tuts +). Jenkins hjemmeside dokumentasjon og wiki er også ganske grundig.

Hva blir det neste?

Neste opp, vil Ian veilede deg gjennom å bruke Jenkins Workflow Plugin. Hvis del 2 ikke er tilgjengelig ennå, kan du sjekke ut Ians tidligere opplæring, Konfigurere kontinuerlig integrasjon og kontinuerlig distribusjon med Jenkins (Tuts +) og CloudBees Workflow Plugin dokumentasjonsside.

Ta gjerne inn dine spørsmål og kommentarer nedenfor. Du kan også tweet meg @ reifman, email meg direkte eller tweet på Ian. Du kan også bla gjennom våre Tuts + instruktør sider for andre opplæringsprogrammer av meg, Jeff Reifman, og Ian Lollar.

Relaterte linker

  • Jenkins Nettsted
  • Jenkins Workflow Plugin på Github
  • Sette opp kontinuerlig integrasjon og kontinuerlig distribusjon med Jenkins (Tuts +)
  • Kontinuerlig integrasjon for PHP-prosjekter ved hjelp av Jenkins, Composer, PHPUnit, BItBucket og Digital Ocean (YouTube)