Ce este Jenkins? Jenkins este un instrument de automatizare gratuit și open source care poate fi utilizat pentru automatizarea sarcinilor tehnice repetitive cu ajutorul integrării continue și al livrării continue.
În acest tutorial, vom explica cum să instalați Jenkins cu Docker pe Ubuntu 18.04 server. De asemenea, vă vom explica cum să rulați Jenkins cu Docker într-un mod pentru a menține datele și configurațiile Jenkins persistente.
Cerințe
- Un server care rulează Ubuntu 18.04 cu minim 2 GB RAM.
- O parolă root este configurată pe serverul dvs.
Noțiuni de bază
Să începem să actualizăm depozitul serverului dvs. cu cea mai recentă versiune. Îl puteți actualiza cu următoarea comandă:
apt-get update -yapt-get upgrade -y
Odată ce depozitul a fost actualizat, reporniți serverul pentru a aplica toate aceste modificări.
Instalați Docker
Apoi, va trebui să instalați Docker pe serverul dvs.
Mai întâi, descărcați și adăugați cheia Docker CE GPG cu următoarea comandă:
wget https: // download.docher.com / linux / ubuntu / gpgapt-key adaugă gpg
Apoi, adăugați depozitul Docker CE la APT cu următoarea comandă:
nano / etc / apt / sources.listă.d / docker.listăAdăugați următoarea linie:
deb [arch = amd64] https: // download.docher.com / linux / ubuntu xenial stabilSalvați și închideți fișierul, când ați terminat. Apoi, actualizați depozitul cu următoarea comandă:
apt-get update -yOdată ce depozitul este actualizat, instalați Docker CE cu următoarea comandă:
apt-get install docker-ce -yDupă instalarea Docker CE, verificați instalarea Docker cu următoarea comandă:
systemctl status dockerCreați volumul Docker pentru date și jurnal
Volumul Docker este o metodă pentru persistarea datelor și configurarea în containerele Docker. Când eliminați orice container, datele și configurațiile sunt încă disponibile în volumul Docker. Deci, va trebui să creați un volum de date și jurnal pentru a face backup de date și configurații Jenkins, inclusiv jurnale, pluginuri, configurarea pluginului și configurarea jobului.
Să începem cu crearea volumului pentru date și să ne conectăm cu următoarea comandă:
volumul docker creează jenkins-datavolumul docker creează jenkins-log
Odată create volumele, le puteți lista cu următoarea comandă:
volumul docker lsAr trebui să vedeți următoarea ieșire:
NUMELE VOLUMULUI ȘOFERULUIdate jenkins locale
local jenkins-log
Instalați Jenkins cu Docker
Apoi, va trebui să creați un fișier docker pentru a extrage și a crea imaginea Jenkins cu setările necesare.
Puteți crea fișier docker cu următoarea comandă:
mkdir dockernano docker / dockerfile
Adăugați următoarele rânduri:
DIN jenkins / jenkinsLABEL maintenance = "[email protected]"
Rădăcină USER
RUN mkdir / var / log / jenkins
RUN mkdir / var / cache / jenkins
RUN chown -R jenkins: jenkins / var / log / jenkins
RUN chown -R jenkins: jenkins / var / cache / jenkins
UTILIZATOR jenkins
ENV JAVA_OPTS = "- Xmx8192m"
ENV JENKINS_OPTS = "- handlerCountMax = 300 --logfile = / var / log / jenkins / jenkins.Buturuga
--webroot = / var / cache / jenkins / war "
Salvați și închideți fișierul, când ați terminat. Apoi, construiți imaginea Jenkins cu următoarea comandă:
cd dockerdocker build -t myjenkins .
Ar trebui să vedeți următoarea ieșire:
Trimiterea contextului de construire la demonul Docker 2.048kBPasul 1/10: DE LA jenkins / jenkins
---> ae831925b271
Pasul 2/10: Mantenitor LABEL = "[email protected]"
---> Rularea în 673bf1ecc3ea
Scoaterea containerului intermediar 673bf1ecc3ea
---> cad1bee88092
Pasul 3/10: root utilizator
---> Se rulează în 36909c427d44
Scoaterea containerului intermediar 36909c427d44
---> 2c381cc3a773
Pasul 4/10: RUN mkdir / var / log / jenkins
---> Se rulează în 337c0310db99
Scoaterea containerului intermediar 337c0310db99
---> 5aa93b90c67e
Pasul 5/10: RUN mkdir / var / cache / jenkins
---> Se rulează în 2c77577ae28b
Scoaterea containerului intermediar 2c77577ae28b
---> 5016430c07eb
Pasul 6/10: RUN chown -R jenkins: jenkins / var / log / jenkins
---> Se rulează în e4c820f66103
Scoaterea containerului intermediar e4c820f66103
---> c8d2830a84c5
Pasul 7/10: RUN chown -R jenkins: jenkins / var / cache / jenkins
---> Rularea în d024606146d5
Scoaterea containerului intermediar d024606146d5
---> a11d613cff18
Pasul 8/10: USER jenkins
---> Se rulează în 478f3c067131
Scoaterea containerului intermediar 478f3c067131
---> edea568d5564
Pasul 9/10: ENV JAVA_OPTS = "- Xmx8192m"
---> Se rulează în 5ae52922f52b
Îndepărtarea containerului intermediar 5ae52922f52b
---> cb1285b1bc72
Pasul 10/10: ENV JENKINS_OPTS = "- handlerCountMax = 300 --logfile = / var / log / jenkins / jenkins.Buturuga
--webroot = / var / cache / jenkins / war "
---> Se rulează în 973fb9257c29
Scoaterea containerului intermediar 973fb9257c29
---> b131c5adf03e
B131c5adf03e construit cu succes
Myjenkins a fost etichetat cu succes: cel mai recent
Noua imagine Jenkins cu numele myjenkins a fost construită cu succes.
Rulați Jenkins Container cu volum de date și jurnal
Imaginea Jenkins este acum construită cu setările necesare. Apoi, va trebui să rulați containerul Jenkins specificând date și volume de jurnal ca punct de montare.
Puteți rula containerul Jenkins cu următoarea comandă:
docker run -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
Odată ce containerul Jenkins este pornit, puteți verifica containerul care rulează cu următoarea comandă:
docker psAr trebui să vedeți următoarea ieșire:
STARE CREATĂ COMANDĂ DE IMAGINE CONTAINER3dec02a7077c myjenkins "/ sbin / tini - / usr / ..." acum 6 minute Sus 6 minute
NUMELE PORTURILOR
0.0.0.0: 8080-> 8080 / tcp, 0.0.0.0: 50000-> 50000 / tcp jenkins-master
Apoi, va trebui să verificați fișierul jurnal Jenkins dacă totul funcționează bine sau nu:
docker exec jenkins-master tail -f / var / log / jenkins / jenkins.ButurugaAr trebui să vedeți următoarea ieșire:
Vă rugăm să utilizați următoarea parolă pentru a continua instalarea:
b437ba21655a44cda66a75b8fbddf5b8Acest lucru poate fi găsit și la: / var / jenkins_home / secrets / initialAdminPassword
*************************************************** ***********
*************************************************** ***********
*************************************************** ***********
Vă rugăm să rețineți parola de mai sus, veți avea nevoie de ea în timpul expertului de configurare web Jenkins.
Accesați interfața web Jenkins
Acum, deschideți browserul web și tastați adresa URL http: // server-dvs.-ip: 8080. Veți fi redirecționat către ecranul de configurare Jenkins așa cum se arată mai jos:
Furnizați parola de administrator și faceți clic pe Continua buton. Ar trebui să vedeți următoarea pagină:
Acum, faceți clic pe „Instalați pluginuri sugerate”Pentru a instala pluginurile necesare. Odată ce instalarea a fost terminată. Ar trebui să vedeți următoarea pagină:
Acum, furnizați numele de utilizator de administrator, parola și numele complet, apoi faceți clic pe Salvați și finalizarea buton. Ar trebui să vedeți următoarea pagină:
Acum, trebuie doar să faceți clic pe Salvați și terminați buton. Odată ce configurarea sa finalizat cu succes, ar trebui să vedeți următoarea pagină:
Acum, faceți clic pe „Începeți să utilizați Jenkins„. Veți fi redirecționat către tabloul de bord Jenkins așa cum se arată în pagina următoare:
Acum, faceți clic pe „creați noi locuri de muncă”Buton. Ar trebui să vedeți următoarea pagină:
Acum, furnizați numele postului dvs. și faceți clic pe O.K buton. Ar trebui să vedeți următoarea pagină:
Acum, faceți clic pe butonul Salvare pentru Salvați toate setările. Ar trebui să vedeți lucrările dvs. recent create în următoarea pagină:
Testați datele persistente ale lui Jenkins
Jenkins este acum instalat și configurat. Apoi, va trebui să testați dacă datele și jurnalul Jenkins persistă după îndepărtarea containerului Jenkins.
Pentru aceasta, mai întâi opriți și ștergeți containerul Jenkins cu următoarea comandă:
docker stop jenkins-masterdocker rm jenkins-master
Acum, porniți din nou containerul Jenkins cu următoarea comandă:
docker run -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
Odată ce containerul Jenkins a fost pornit, deschideți browserul web și tastați adresa URL http: // server-dvs.-ip: 8080. Veți fi redirecționat la următoarea pagină:
Acum, furnizați numele de utilizator și parola de administrator, apoi faceți clic pe Semn în buton. Ar trebui să vedeți tabloul de bord Jenkins în următoarea pagină:
Asta înseamnă că ați păstrat toate datele, jurnalele, configurația de configurare și instalările pluginurilor. Ar trebui să vezi, de asemenea, că jobul tău al meu este încă acolo.
CONCLUZIE
Acum puteți să vă containerizați procesul de devop cu Jenkins și Docker, bucurați-vă.