Docker is zoals we weten een open platform voor ontwikkelaars en systeembeheerders om gedistribueerde applicaties te bouwen, te verzenden en uit te voeren, of het nu op laptops, Datacenter VM ‘ s of de cloud is.
vandaag gaan we controleren hoe Jenkins te configureren om Docker Images te bouwen op basis van een Dockerfile. Hieronder vindt u de stappen van hoe u Docker kunt gebruiken binnen een CI/CD pijplijn, met behulp van afbeeldingen als een build artefact dat kan worden gepromoot naar verschillende omgevingen en ten slotte de productie.
Stap # 1 : Start Jenkins
op dit moment heb ik Jenkins draaien op Docker container,als je docker ps
commando doet zou het je de status van de container tonen.
Lancering Jenkins’ dashboard
Stap 2 : Configureer de plugins en beginnen met het bouwen van de Docker Beelden.
onze eerste stap is het configureren van Docker plugin. Wanneer een Jenkins build vereist Docker, zal het een “Cloud Agent” te creëren via de plugin. De agent zal een Docker Container zijn geconfigureerd om met onze Docker Daemon te praten.De Jenkins build job zal deze container gebruiken om de build uit te voeren en de image aan te maken voordat deze gestopt wordt. De Docker-Image wordt opgeslagen op de geconfigureerde Docker-Daemon. De afbeelding kan dan worden geduwd om een Docker Registry klaar voor implementatie.
- zodra u zich in het Jenkins Dashboard bevindt, selecteert u Jenkins beheren aan de linkerkant.
- op de configuratiepagina selecteert u plug-ins beheren.
- plugins beheren pagina geeft u een interface met tabbladen. Klik op beschikbaar om alle Jenkins plugins te bekijken die geà nstalleerd kunnen worden.
- met behulp van het zoekveld, zoeken naar Docker plugin. Er zijn meerdere Docker plugins, selecteer Docker plugin met behulp van het selectievakje.
- terwijl op deze pagina, installeer je de git plugin voor het verkrijgen van de broncode van een git repository.
- klik onderaan op Installeren zonder opnieuw te starten.
- de plugins zullen nu worden gedownload en geïnstalleerd. Eenmaal voltooid, klik op de link Ga terug naar de bovenste pagina.
zodra de Docker & Git plugins zijn geïnstalleerd, kunnen we nu verder gaan en configureren hoe ze de Docker Containers starten.
de Producten van Amazon.in
- -17%
- Mastering Docker –
- Prijs: INR 828.00
- Was: INR 999.00
- -17%
- Continue Levering met Docker en Jenkins
- Prijs: INR 829.00
- Was: INR 999.00
- Docker en Kubernetes voor Java-Ontwikkelaars
- Prijs: INR 828.00
- Docker op Windows
- Prijs: INR 828.00
- Docker: Up-and-Running – Verzending Betrouwbaar Containers in de Productie
- Prijs: op voorraad
- Docker : Een Quick-Start Handleiding voor Beginners
- Prijs: Controleren op Amazon
- Docker Diepe Duik
- Prijs: Controleren op Amazon
- Docker: 5 Boeken in 1 – Beginner’ s guide+ Tips & Trucs+ Eenvoudige & Effectieve strategieën+ Beste Praktijken & Geavanceerde strategieën
- Prijs: Controleren op Amazon
- Ry ‘ s Git Tutorial
- Prijs: Check op Amazon
” “
de configuratie zou worden gebruikt door de plugin welke Docker Image om de agent te gebruiken en welke Docker daemon om de containers te draaien en bouwt op.De plugin behandelt Docker als een cloud provider, spinnen up containers als en wanneer de build ze vereist.
Stap # 3: Configureer Docker agent
- op het Jenkins Dashboard, selecteer Jenkins beheren.
- Selecteer systeem configureren om toegang te krijgen tot de belangrijkste Jenkins instellingen.
- onderaan is er een dropdown genaamd een nieuwe cloud toevoegen. Selecteer Docker uit de lijst.
- u kunt nu de container opties configureren. Stel de naam van de agent in op docker-agent.
- de” Docker URL ” is waar Jenkins de agent container lanceert. In dit geval gebruiken we dezelfde daemon als het draaien van Jenkins, maar in het echte scenario zou het een aparte instantie moeten zijn zodat het kan schalen.
- gebruik Test Connection om te controleren of Jenkins met de Docker-Daemon kan praten. Je zou het Docker versienummer terug moeten zien.
nu plugin kan communiceren met Docker,de volgende stap zou zijn om te configureren hoe de Docker Image te starten voor de agent.
- selecteer Docker Template toevoegen in de vervolgkeuzelijst afbeeldingen.
- voor de Docker-Image, gebruik sample one met Docker-client benhall / dind-jenkins-agent. Deze afbeelding is geconfigureerd met een Docker-client en beschikbaar op https://hub.docker.com/r/benhall/dind-jenkins-agent/
- om builds in staat te stellen Docker als build-agent op te geven, stelt u een label van docker-agent in.
- Jenkins gebruikt SSH om met agenten te communiceren. Voeg een nieuwe set van “referenties”. De gebruikersnaam is jenkins en het wachtwoord is jenkins.
- vouw tenslotte het gedeelte Container-instellingen uit door op de knop te klikken. Voer in het tekstvak” Volumes ” /var/run/docker in.sock: / var / run / docker.sock
- klik op Opslaan.
Stap # 4: Test de setup
om de setup nieuwe taak maken te testen op
- Selecteer op het Jenkins dashboard nieuwe taken maken van het type Freestyle project & nieuwe taak maken ex.Jenkins Demo.
- de build zal afhangen van het hebben van toegang tot Docker. Met behulp van de” beperken waar dit project kan worden uitgevoerd ” kunnen we het label dat we instellen van onze geconfigureerde Docker agent definiëren. De set “Label Expression” naar docker-agent. Je moet een configuratie hebben van “Label wordt onderhouden door no nodes en 1 cloud”.
- Selecteer het Repository type als Git en stel de Repository in.Ik gebruik mijn Git locatie https://github.com/karthi4india/jenkins/.
- we kunnen nu een nieuwe Build Stap toevoegen met behulp van de dropdown. Selecteer Shell Uitvoeren.
- Dockerfile zorgt voor build, Jenkins hoeft alleen build aan te roepen en een beschrijvende naam op te geven.
Bouwstap :
ls
docker info
docker build -t jenkins-demo:${BUILD_NUMBER} .
docker tag jenkins-demo:${BUILD_NUMBER} jenkins-demo:latest
docker images
het eerste commando toont alle bestanden in de directory die gebouwd zullen worden. Bij het aanroepen van docker build gebruiken we het Jenkins build nummer als de image tag. Dit stelt ons in staat om de versie van onze Docker beelden. We taggen ook de build met de nieuwste.
Docker-bestand:
FROM scratch
EXPOSE 80
COPY http-server /
CMD
selecteer Nu bouwen aan de linkerkant. Je zou een build gepland moeten zien met een bericht “(in afwachting-Waiting for next available executor)”.
Jenkins start de container op en maakt er verbinding mee via SSH. Soms kan dit even duren.
u kunt de voortgang zien met
docker logs --tail=10 jenkins
zodra de build is voltooid moet u de afbeelding en Tags met behulp van de Docker CLI zien
docker images
zoals deze post? Vergeet niet om het te delen!