Vad är Jenkins? Jenkins är ett gratis och open source-automatiseringsverktyg som kan användas för att automatisera repetitiva tekniska uppgifter med hjälp av kontinuerlig integration och kontinuerlig leverans.
I denna handledning kommer vi att förklara hur du installerar Jenkins med Docker på Ubuntu 18.04-server. Vi kommer också att förklara hur man kör Jenkins med Docker på ett sätt att hålla Jenkins-data och konfigurationer bestående.
Krav
- En server som kör Ubuntu 18.04 med minst 2 GB RAM.
- Ett root-lösenord har ställts in på din server.
Komma igång
Låt oss börja uppdatera serverns databas med den senaste versionen. Du kan uppdatera det med följande kommando:
apt-get-uppdatering -yapt-get upgrade -y
När förvaret har uppdaterats startar du om servern för att tillämpa alla dessa ändringar.
Installera Docker
Därefter måste du installera Docker på din server.
Ladda först ned och lägg till Docker CE GPG-nyckel med följande kommando:
wget https: // nedladdning.hamnarbetare.com / linux / ubuntu / gpgapt-key lägg till gpg
Lägg sedan till Docker CE-arkivet i APT med följande kommando:
nano / etc / apt / sources.lista.d / docker.listaLägg till följande rad:
deb [arch = amd64] https: // nedladdning.hamnarbetare.com / linux / ubuntu xenial stabilSpara och stäng filen när du är klar. Uppdatera sedan förvaret med följande kommando:
apt-get-uppdatering -yNär förvaret har uppdaterats installerar du Docker CE med följande kommando:
apt-get install docker-ce -yEfter installation av Docker CE, verifiera Docker-installationen med följande kommando:
systemctl status dockerSkapa Docker-volym för data och logg
Docker-volym är en metod för bestående data och konfiguration i Docker-behållare. När du tar bort en behållare är data och konfigurationer fortfarande tillgängliga i Docker-volymen. Så du måste skapa data och logga volymer för att säkerhetskopiera Jenkins-data och konfigurationer inklusive loggar, plugins, plugin-konfiguration och jobbkonfiguration.
Låt oss börja med att skapa volym för data och logga med följande kommando:
docker volym skapa jenkins-datadocker volym skapa jenkins-log
När volymerna har skapats kan du lista dem med följande kommando:
docker volym lsDu bör se följande utdata:
FÖRARVOLYMNAMNlokala jenkins-data
lokal jenkins-logg
Installera Jenkins med Docker
Därefter måste du skapa en dockningsfil för att dra och bygga Jenkins-avbildningen med nödvändiga inställningar.
Du kan skapa dockerfil med följande kommando:
mkdir dockernano docker / dockerfil
Lägg till följande rader:
FRÅN jenkins / jenkinsLABEL underhållare = "[email protected]"
ANVÄNDAR rot
KÖR mkdir / var / log / jenkins
KÖR mkdir / var / cache / jenkins
KÖR chown -R jenkins: jenkins / var / log / jenkins
KÖR chown -R jenkins: jenkins / var / cache / jenkins
ANVÄNDARE jenkins
ENV JAVA_OPTS = "- Xmx8192m"
ENV JENKINS_OPTS = "- handlerCountMax = 300 --logfile = / var / log / jenkins / jenkins.logga
--webroot = / var / cache / jenkins / war "
Spara och stäng filen när du är klar. Bygg sedan Jenkins-bilden med följande kommando:
cd-dockaredocker build -t myjenkins .
Du bör se följande utdata:
Skickar byggkontext till Docker daemon 2.048 kBSteg 1/10: FRÅN jenkins / jenkins
---> ae831925b271
Steg 2/10: LABEL maintenanceer = "[email protected]"
---> Kör i 673bf1ecc3ea
Ta bort mellanbehållaren 673bf1ecc3ea
---> cad1bee88092
Steg 3/10: ANVÄNDARROT
---> Kör i 36909c427d44
Demontering av mellanbehållare 36909c427d44
---> 2c381cc3a773
Steg 4/10: KÖR mkdir / var / log / jenkins
---> Kör i 337c0310db99
Avlägsnar mellanbehållare 337c0310db99
---> 5aa93b90c67e
Steg 5/10: KÖR mkdir / var / cache / jenkins
---> Kör i 2c77577ae28b
Demontering av mellanbehållare 2c77577ae28b
---> 5016430c07eb
Steg 6/10: KÖR chown -R jenkins: jenkins / var / log / jenkins
---> Kör i e4c820f66103
Avlägsnar mellanbehållare e4c820f66103
---> c8d2830a84c5
Steg 7/10: KÖR chown -R jenkins: jenkins / var / cache / jenkins
---> Kör i d024606146d5
Avlägsnar mellanbehållare d024606146d5
---> a11d613cff18
Steg 8/10: USER jenkins
---> Kör 478f3c067131
Demontering av mellanbehållare 478f3c067131
---> edea568d5564
Steg 9/10: ENV JAVA_OPTS = "- Xmx8192m"
---> Kör i 5ae52922f52b
Avlägsnande av mellanbehållare 5ae52922f52b
---> cb1285b1bc72
Steg 10/10: ENV JENKINS_OPTS = "- handlerCountMax = 300 --logfile = / var / log / jenkins / jenkins.logga
--webroot = / var / cache / jenkins / war "
---> Kör i 973fb9257c29
Avlägsnar mellanbehållare 973fb9257c29
---> b131c5adf03e
Framgångsrikt byggt b131c5adf03e
Taggade myjenkins: senaste
Den nya Jenkins-bilden med namnet myjenkins har byggts framgångsrikt.
Kör Jenkins Container med data och loggvolym
Jenkins-bilden är nu byggd med nödvändiga inställningar. Därefter måste du köra Jenkins-container genom att ange data och loggvolymer som en monteringspunkt.
Du kan köra Jenkins-behållaren med följande kommando:
docker kör -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-behållaren har startats kan du verifiera den körande behållaren med följande kommando:
docker psDu bör se följande utdata:
CONTAINER ID BILDKOMMANDO SKAPAD STATUS3dec02a7077c myjenkins "/ sbin / tini - / usr /…" 6 minuter sedan Upp 6 minuter
HAMNNAMN
0.0.0.0: 8080-> 8080 / tcp, 0.0.0.0: 50000-> 50000 / tcp jenkins-master
Därefter måste du kontrollera jenkins-loggfilen om allt fungerar bra eller inte:
docker exec jenkins-master tail -f / var / log / jenkins / jenkins.loggaDu bör se följande utdata:
Använd följande lösenord för att fortsätta till installationen:
b437ba21655a44cda66a75b8fbddf5b8Detta kan också hittas på: / var / jenkins_home / secrets / initialAdminPassword
************************************************* ***********
************************************************* ***********
************************************************* ***********
Observera ovanstående lösenord, du behöver det under Jenkins webbinställningsguide.
Gå till Jenkins webbgränssnitt
Öppna nu din webbläsare och skriv in webbadressen http: // din server-ip: 8080. Du kommer att omdirigeras till Jenkins installationsskärm enligt nedan:
Ange ditt administratörslösenord och klicka på Fortsätta knapp. Du bör se följande sida:
Klicka nu på “Installera föreslagna plugins”För att installera nödvändiga plugins. När installationen är klar. Du bör se följande sida:
Ange nu ditt administratörens användarnamn, lösenord och fullständiga namn och klicka sedan på Spara och Avsluta knapp. Du bör se följande sida:
Klicka bara på Spara och avsluta knapp. När installationen är klar bör du se följande sida:
Klicka nu på “Börja använda Jenkins“. Du kommer att omdirigeras till Jenkins instrumentpanel som visas på följande sida:
Klicka nu på “skapa nya jobb" knapp. Du bör se följande sida:
Ange nu ditt jobbnamn och klicka på OK knapp. Du bör se följande sida:
Klicka nu på knappen Spara till spara alla inställningar. Du bör se dina nyskapade jobb på följande sida:
Testa Jenkins beständiga data
Jenkins är nu installerat och konfigurerat. Därefter måste du testa om Jenkins-data och logg fortfarande kvarstår efter att Jenkins-behållaren har tagits bort.
För att göra det, stoppa först och ta bort Jenkins-behållaren med följande kommando:
docker stop jenkins-masterdocker rm jenkins-master
Starta nu Jenkins-behållaren igen med följande kommando:
docker kör -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-behållaren har startats öppnar du din webbläsare och skriver URL http: // din server-ip: 8080. Du kommer att omdirigeras till följande sida:
Ange nu ditt användarnamn och lösenord för admin och klicka sedan på Tecken i knapp. Du bör se Jenkins-instrumentpanelen på följande sida:
Det betyder att du har bevarat all data, loggar, installationskonfiguration och plugin-installationer. Du bör också se att din myjenkinsjob fortfarande finns där.
SLUTSATS
Nu kan du containerisera din devop-process med Jenkins och Docker, njut.