Hva er Jenkins? Jenkins er et gratis og åpen kildekode-automatiseringsverktøy som kan brukes til å automatisere gjentatte tekniske oppgaver ved hjelp av kontinuerlig integrering og kontinuerlig levering.
I denne opplæringen vil vi forklare hvordan du installerer Jenkins med Docker på Ubuntu 18.04 server. Vi vil også forklare hvordan du kjører Jenkins med Docker på en måte å holde Jenkins-data og konfigurasjoner vedvarende.
Krav
- En server som kjører Ubuntu 18.04 med minimum 2 GB RAM.
- Et root-passord er satt opp på serveren din.
Starter
La oss begynne å oppdatere serverens lager med den nyeste versjonen. Du kan oppdatere den med følgende kommando:
apt-get update -yapt-get oppgradering -y
Når depotet er oppdatert, start serveren på nytt for å bruke alle disse endringene.
Installer Docker
Deretter må du installere Docker på serveren din.
Først laster du ned og legger til Docker CE GPG-nøkkel med følgende kommando:
wget https: // nedlasting.docker.no / linux / ubuntu / gpgapt-key legg til gpg
Deretter legger du til Docker CE-depotet til APT med følgende kommando:
nano / etc / apt / sources.liste.d / docker.listeLegg til følgende linje:
deb [arch = amd64] https: // nedlasting.docker.com / linux / ubuntu xenial stabilLagre og lukk filen når du er ferdig. Oppdater deretter depotet med følgende kommando:
apt-get update -yNår depotet er oppdatert, installerer du Docker CE med følgende kommando:
apt-get installer docker-ce -yNår du har installert Docker CE, må du kontrollere Docker-installasjonen med følgende kommando:
systemctl status dockerOpprett Docker-volum for data og logg
Docker-volum er en metode for vedvarende data og konfigurasjon i Docker-containere. Når du fjerner en container, er dataene og konfigurasjonene fremdeles tilgjengelige i Docker-volumet. Så du må opprette data- og loggvolumer for å sikkerhetskopiere Jenkins-data og konfigurasjoner, inkludert logger, plugins, plugin-konfigurasjon og jobbkonfigurasjon.
La oss starte med å lage volum for data og logge med følgende kommando:
docker volum opprette jenkins-datadocker volum opprette jenkins-log
Når volumene er opprettet, kan du liste dem med følgende kommando:
docker volum lsDu bør se følgende utdata:
FØRERVOLUMNAVNlokale jenkins-data
lokal jenkins-logg
Installer Jenkins med Docker
Deretter må du opprette en docker-fil for å trekke og bygge Jenkins-bilde med nødvendige innstillinger.
Du kan opprette docker-fil med følgende kommando:
mkdir dockernano docker / dockerfil
Legg til følgende linjer:
FRA jenkins / jenkinsLABEL vedlikeholder = "[email protected]"
BRUKER rot
KJØR mkdir / var / log / jenkins
KJØR mkdir / var / cache / jenkins
RUN chown -R jenkins: jenkins / var / log / jenkins
RUN chown -R jenkins: jenkins / var / cache / jenkins
BRUKER jenkins
ENV JAVA_OPTS = "- Xmx8192m"
ENV JENKINS_OPTS = "- handlerCountMax = 300 --logfile = / var / log / jenkins / jenkins.Logg
--webroot = / var / cache / jenkins / war "
Lagre og lukk filen når du er ferdig. Bygg deretter Jenkins-bildet med følgende kommando:
cd dockerdocker build -t myjenkins .
Du bør se følgende utdata:
Sender byggekontekst til Docker daemon 2.048 kBTrinn 1/10: FRA jenkins / jenkins
---> ae831925b271
Trinn 2/10: LABEL vedlikeholder = "[email protected]"
---> Kjører i 673bf1ecc3ea
Fjerne mellombeholder 673bf1ecc3ea
---> cad1bee88092
Trinn 3/10: BRUKER rot
---> Kjører i 36909c427d44
Fjerner mellombeholder 36909c427d44
---> 2c381cc3a773
Trinn 4/10: KJØR mkdir / var / log / jenkins
---> Kjører i 337c0310db99
Fjerner mellombeholder 337c0310db99
---> 5aa93b90c67e
Trinn 5/10: KJØR mkdir / var / cache / jenkins
---> Kjører i 2c77577ae28b
Fjerner mellombeholder 2c77577ae28b
---> 5016430c07eb
Trinn 6/10: RUN chown -R jenkins: jenkins / var / log / jenkins
---> Kjører i e4c820f66103
Fjerner mellombeholder e4c820f66103
---> c8d2830a84c5
Trinn 7/10: RUN chown -R jenkins: jenkins / var / cache / jenkins
---> Kjører i d024606146d5
Fjerne mellombeholder d024606146d5
---> a11d613cff18
Trinn 8/10: BRUKER jenkins
---> Kjører i 478f3c067131
Fjerner mellombeholder 478f3c067131
---> edea568d5564
Trinn 9/10: ENV JAVA_OPTS = "- Xmx8192m"
---> Kjører i 5ae52922f52b
Fjerne mellombeholder 5ae52922f52b
---> cb1285b1bc72
Trinn 10/10: ENV JENKINS_OPTS = "- handlerCountMax = 300 --logfile = / var / log / jenkins / jenkins.Logg
--webroot = / var / cache / jenkins / war "
---> Kjører i 973fb9257c29
Fjerner mellombeholder 973fb9257c29
---> b131c5adf03e
Vellykket bygget b131c5adf03e
Tagget myjenkins: nyeste
Det nye Jenkins-bildet med navnet myjenkins er bygget med hell.
Kjør Jenkins Container med data og loggvolum
Jenkins-bildet er nå bygget med nødvendige innstillinger. Deretter må du kjøre Jenkins-container ved å spesifisere data og loggvolumer som et monteringspunkt.
Du kan kjøre Jenkins-beholderen med følgende kommando:
docker kjøre -p 8080: 8080 -p 50000: 50000 --name = jenkins-master --mount source = jenkins-log,target = / var / log / jenkins --mount source = jenkins-data, target = / var / jenkins_home -d myjenkins
Når Jenkins-beholderen er startet, kan du bekrefte den kjørende beholderen med følgende kommando:
docker psDu bør se følgende utdata:
CONTAINER ID BILDE KOMMANDO LAGET STATUS3dec02a7077c myjenkins "/ sbin / tini - / usr /…" 6 minutter siden Opp 6 minutter
HAVNENAVN
0.0.0.0: 8080-> 8080 / tcp, 0.0.0.0: 50000-> 50000 / tcp jenkins-master
Deretter må du sjekke jenkins-loggfilen om alt fungerer bra eller ikke:
docker exec jenkins-master tail -f / var / log / jenkins / jenkins.LoggDu bør se følgende utdata:
Bruk følgende passord for å fortsette med installasjonen:
b437ba21655a44cda66a75b8fbddf5b8Dette kan også bli funnet på: / var / jenkins_home / secrets / initialAdminPassword
************************************************* ***********
************************************************* ***********
************************************************* ***********
Vær oppmerksom på passordet ovenfor. Du trenger det under Jenkins-nettoppsettveiviseren.
Få tilgang til Jenkins webgrensesnitt
Åpne nettleseren din og skriv inn URL-en http: // din server-ip: 8080. Du blir omdirigert til Jenkins-oppsettskjermbildet som vist nedenfor:
Oppgi administratorpassordet ditt og klikk på Fortsette knapp. Du bør se følgende side:
Klikk nå på “Installer foreslåtte plugins”For å installere de nødvendige plugins. Når installasjonen er ferdig. Du bør se følgende side:
Nå, oppgi administratorbrukernavn, passord og fullt navn, og klikk deretter på Lagre og Bli ferdig knapp. Du bør se følgende side:
Nå er det bare å klikke på Lagre og fullfør knapp. Når installasjonen er fullført, bør du se følgende side:
Klikk nå på “Begynn å bruke Jenkins“. Du blir omdirigert til Jenkins-dashbordet som vist på følgende side:
Klikk nå på “skape nye arbeidsplasser”-Knappen. Du bør se følgende side:
Nå, oppgi jobbenavnet ditt og klikk på OK knapp. Du bør se følgende side:
Klikk nå på Lagre-knappen til lagre alle innstillingene. Du bør se de nyopprettede jobbene dine på følgende side:
Test Jenkins vedvarende data
Jenkins er nå installert og konfigurert. Deretter må du teste om Jenkins-data og logg fortsatt vedvarer etter at Jenkins-beholderen er fjernet.
For å gjøre det, stopp først og slett Jenkins-beholderen med følgende kommando:
docker stopp jenkins-masterdocker rm jenkins-master
Start nå Jenkins-beholderen igjen med følgende kommando:
docker kjøre -p 8080: 8080 -p 50000: 50000 --name = jenkins-master --mount source = jenkins-log,target = / var / log / jenkins --mount source = jenkins-data, target = / var / jenkins_home -d myjenkins
Når Jenkins-beholderen er startet, åpner du nettleseren og skriver inn URL-en http: // din-server-ip: 8080. Du blir omdirigert til følgende side:
Nå, oppgi administratorbrukernavnet og passordet ditt, og klikk deretter på Skilt i knapp. Du bør se Jenkins-dashbordet på følgende side:
Det betyr at du har bevart alle data, logger, konfigurasjonskonfigurasjon og plugin-installasjoner. Du bør også se at myjenkinsjobben din fortsatt er der.
KONKLUSJON
Nå kan du containerisere din devop-prosess med Jenkins og Docker, nyt.