Docker după cum știm,este o platformă deschisă pentru dezvoltatori și administratori de sisteme pentru a construi, Livra și rula aplicații distribuite, fie pe laptopuri, VM-uri din Centrul de date, fie în cloud.
astăzi vom verifica cum să configurați Jenkins pentru a construi imagini Docker bazate pe un fișier Docker. Mai jos sunt pașii de modul în care puteți utiliza Docker într-o conductă CI/CD, folosind imagini ca un artefact construi care pot fi promovate în medii diferite și în cele din urmă de producție.
Pasul #1 : Lansați Jenkins
în prezent,am Jenkins care rulează pe containerul Docker, dacă faceți comanda docker ps
, vă va arăta starea containerului.
lansarea Tabloul de bord Jenkins
Pasul #2 : Configurați pluginurile și începeți să construiți imagini Docker.
pasul nostru 1 este să configurați pluginul Docker. Ori de câte ori o construcție Jenkins necesită Docker, va crea un „agent Cloud” prin intermediul pluginului. Agentul va fi un container Docker configurat să vorbească cu demonul nostru Docker.Jenkins construi locuri de muncă va folosi acest container pentru a executa construi și de a crea imaginea înainte de a fi oprit. Imaginea Docker va fi stocată pe demonul Docker configurat. Imaginea poate fi apoi împins la un registru Docker gata de implementare.
- după ce vă aflați în tabloul de bord Jenkins, selectați Gestionare Jenkins din stânga.
- în pagina Configurare, selectați gestionare pluginuri.
- pagina gestionare pluginuri vă va oferi o interfață cu file. Faceți clic pe Disponibil pentru a vizualiza toate pluginurile Jenkins care pot fi instalate.
- folosind caseta de căutare, Căutați pluginul Docker. Există mai multe pluginuri Docker, selectați pluginul Docker folosind caseta de selectare.
- în timp ce vă aflați pe această pagină, instalați pluginul Git pentru a obține codul sursă dintr-un depozit Git.
- Faceți clic pe Instalare fără repornire în partea de jos.
- pluginurile vor fi acum descărcate și instalate. După finalizare, faceți clic pe link reveniți la pagina de sus.
odată ce pluginurile Docker & git au fost instalate, acum putem continua și configura modul în care lansează containerele Docker.
produse din Amazon.in
- -17%
- Mastering Docker –
- Preț: INR 828.00
- a fost: INR 999.00
- -17%
- livrare continuă cu Docker și Jenkins
- Preț: INR 829.00
- a fost: INR 999.00
- Docker și Kubernetes pentru dezvoltatorii Java
- Preț: INR 828.00
- Docker pe Windows
- Preț: INR 828.00
- Docker: Up and Running – transport containere fiabile în producție
- Preț: Stoc epuizat
- Docker: un ghid pentru începători cu pornire rapidă
- Preț: verificați pe Amazon
- Docker Deep Dive
- Preț: verificați pe Amazon
- Docker: 5 cărți în 1-Ghidul începătorului + sfaturi & trucuri+ Simple & strategii eficiente+ Cele mai bune practici & strategii avansate
- Preț: verificați pe Amazon
- Ry ‘ s Git Tutorial
- Preț: Verificați pe Amazon
” „
configurația va fi utilizată de plugin-ul pe care Docker Image să utilizeze agentul și pe care Docker daemon să ruleze containerele și se bazează.Plugin-ul tratează Docker ca un furnizor de nor, filare containere ca și atunci când construi le cere.
Pasul #3 : Configurați agentul Docker
- în tabloul de bord Jenkins, selectați Gestionare Jenkins.
- selectați Configurare sistem pentru a accesa setările principale Jenkins.
- în partea de jos, există un drop-down numit adăugați un nou nor. Selectați Docker din listă.
- acum Puteți configura opțiunile containerului. Setați numele agentului la docker-agent.
- „Docker URL” este locul în care Jenkins lansează containerul agentului. În acest caz, vom folosi același daemon ca rularea Jenkins, dar în scenariul din lumea reală ar trebui să fie instanță separată, astfel încât să poată scala.
- utilizați conexiunea de testare pentru a verifica dacă Jenkins poate vorbi cu demonul Docker. Ar trebui să vedeți numărul versiunii Docker returnat.
acum plugin poate comunica cu Docker,următorul pas ar fi să configurați modul de a lansa imaginea Docker pentru agentul.
- utilizând meniul derulant imagini, selectați Adăugare șablon Docker.
- pentru imaginea Docker, utilizați un eșantion care are Client Docker benhall/dind-jenkins-agent. Această imagine este configurată cu un client Docker și disponibilă la https://hub.docker.com/r/benhall/dind-jenkins-agent/
- pentru a activa compilările pentru a specifica Docker ca agent de construire, setați o etichetă de docker-agent.
- Jenkins folosește SSH pentru a comunica cu agenții. Adăugați un nou set de”acreditări”. Numele de utilizator este jenkins și parola este jenkins.
- în cele din urmă, extindeți secțiunea Setări Container făcând clic pe buton. În caseta de text” Volume ” introduceți /var/run/docker.ciorap:/var/alerga / docker.ciorap
- Faceți clic pe Salvare.
Pasul #4 : Testați configurarea
pentru a testa configurarea creare job nou la
- în tabloul de bord Jenkins, selectați Creare joburi noi de tip Freestyle project & creare job nou ex.Jenkins Demo.
- construirea va depinde de accesul la Docker. Folosind „restricționați unde poate fi rulat acest proiect” putem defini eticheta pe care am setat-o agentului nostru Docker configurat. Setul „Expresie etichetă” la docker-agent. Ar trebui să aveți o configurație de „eticheta este deservită de nici un nod și 1 nor”.
- selectați tipul Repository ca Git și setați Repository.Sunt folosind locația mea GIT https://github.com/karthi4india/jenkins/.
- acum putem adăuga un nou pas de construire folosind meniul derulant. Selectați Executați Shell.
- Dockerfile are grijă de build, Jenkins trebuie doar să apeleze build și să specifice un nume prietenos.
construi pas :
ls
docker info
docker build -t jenkins-demo:${BUILD_NUMBER} .
docker tag jenkins-demo:${BUILD_NUMBER} jenkins-demo:latest
docker images
prima comandă listează toate fișierele din Directorul care va fi construit. Când apelați Docker build, folosim numărul Jenkins build ca etichetă de imagine. Acest lucru ne permite să versiunea imaginile noastre Docker. De asemenea, etichetăm construcția cu cele mai recente.
fișier Docker:
FROM scratch
EXPOSE 80
COPY http-server /
CMD
în partea stângă, selectați construiți acum. Ar trebui să vedeți o construcție programată cu un mesaj „(în așteptare — în așteptare pentru următorul executor disponibil)”.
Jenkins lansează containerul și se conectează la acesta prin SSH. Uneori, acest lucru poate dura un moment sau două.
puteți vedea progresul folosind
docker logs --tail=10 jenkins
odată ce a terminat construi ar trebui să vedeți imaginea și tag-uri folosind Docker CLI
docker images
ca acest post? Nu uitați să-l împărtășească!