Docker som vi vet är en öppen plattform för utvecklare och sysadmins att bygga,skicka och köra distribuerade applikationer, vare sig på bärbara datorer, datacenter VM eller molnet.
idag ska vi kontrollera hur du konfigurerar Jenkins för att bygga Docker-bilder baserat på en Dockerfil. Nedan följer stegen för hur du kan använda Docker inom en CI/CD-pipeline, med bilder som en byggartefakt som kan främjas till olika miljöer och slutligen produktion.
Steg #1 : Starta Jenkins
för närvarande har jag Jenkins körs på Docker container,om du gör docker ps
kommando det skulle visa status för behållaren.
starta Jenkins dashboard
steg #2 : Konfigurera plugins och börja bygga Docker-bilder.
vår 1: a steget är att konfigurera Docker plugin. När en Jenkins-byggnad kräver Docker kommer den att skapa en” Cloud Agent ” via plugin. Agenten kommer att vara en Docker-behållare konfigurerad för att prata med vår Docker-Demon.Jenkins build-jobbet kommer att använda den här behållaren för att utföra byggnaden och skapa bilden innan den stoppas. Docker-bilden lagras på den konfigurerade Docker-demonen. Bilden kan sedan skjutas till ett Docker-register redo för distribution.
- när du är inne i Jenkins instrumentpanel väljer du hantera Jenkins till vänster.
- på konfigurationssidan väljer du hantera Plugins.
- hantera Plugins sida ger dig ett flikgränssnitt. Klicka på tillgänglig för att se alla Jenkins-plugins som kan installeras.
- Sök efter Docker-plugin i sökrutan. Det finns flera Docker-plugins, välj Docker-plugin med kryssrutan.
- på den här sidan installerar du git-plugin för att få källkoden från ett Git-arkiv.
- klicka på Installera utan omstart längst ner.
- plugins kommer nu att laddas ner och installeras. När du är klar klickar du på länken Gå tillbaka till toppsidan.
när Docker & GIT-plugins har installerats kan vi nu fortsätta och konfigurera hur de startar Docker-behållarna.
produkter från Amazon.in
- -17%
- Mastering Docker –
- pris: INR 828.00
- var: INR 999.00
- -17%
- kontinuerlig leverans med Docker och Jenkins
- pris: INR 829.00
- var: INR 999.00
- Docker och Kubernetes för Java-utvecklare
- pris: INR 828.00
- Docker på Windows
- pris: INR 828.00
- Docker: i drift-leveranssäkra containrar i produktion
- pris: slut i lager
- Docker: en snabbstart Nybörjarguide
- pris: kolla på Amazon
- Docker djupdykning
- pris: kolla på Amazon
- Docker: 5 böcker i 1-Nybörjarguide + Tips & Tricks + enkla & effektiva strategier + bästa praxis & avancerade strategier
- pris: kolla på Amazon
- Ry ’ s Git handledning
- pris: Kolla på Amazon
” ”
konfigurationen skulle användas av plugin vilken Docker-bild som ska användas agenten och vilken Docker-demon som ska köra behållarna och bygger på.Plugin behandlar Docker som en molnleverantör och spinner upp behållare när och när byggnaden kräver dem.
steg #3 : Konfigurera Docker agent
- på Jenkins instrumentpanel väljer du hantera Jenkins.
- Välj Konfigurera System för att komma åt de viktigaste Jenkins-inställningarna.
- längst ner finns en rullgardinsmeny som heter Lägg till ett nytt moln. Välj Docker från listan.
- du kan nu konfigurera behållaralternativen. Ange namnet på agenten till docker-agent.
- ”Docker URL” är där Jenkins lanserar agentbehållaren. I det här fallet använder vi samma demon som att köra Jenkins, men i det verkliga scenariot bör det vara separat instans så att den kan skala.
- använd Testanslutning för att verifiera att Jenkins kan prata med Docker-demonen. Du bör se Docker versionsnummer returneras.
nu plugin kan kommunicera med Docker, skulle nästa steg vara att konfigurera hur man startar Docker bilden för agenten.
- Använd rullgardinsmenyn bilder och välj Lägg till Docker-Mall.
- för Docker-bilden, använd prov som har Docker-klient benhall / dind-jenkins-agent. Den här bilden är konfigurerad med en Docker-klient och tillgänglig på https://hub.docker.com/r/benhall/dind-jenkins-agent/
- för att aktivera builds för att ange Docker som en build agent, ange en etikett för docker-agent.
- Jenkins använder SSH för att kommunicera med agenter. Lägg till en ny uppsättning ”referenser”. Användarnamnet är jenkins och lösenordet är jenkins.
- expandera slutligen avsnittet Behållarinställningar genom att klicka på knappen. I textrutan” volymer ” anger du /var/run/docker.socka:/var / springa / docker.socka
- klicka på Spara.
steg #4 : Testa inställningen
för att testa inställningen Skapa nytt jobb till
- på Jenkins instrumentpanel väljer du skapa nya jobb av typen Freestyle project & Skapa nytt jobb ex.Jenkins Demo.
- byggnaden beror på att ha tillgång till Docker. Med hjälp av ”begränsa var detta projekt kan köras” kan vi definiera etiketten vi ställer in för vår konfigurerade Docker agent. Den inställda ”etikett uttryck” till docker-agent. Du bör ha en konfiguration av ”etikett betjänas av inga noder och 1 moln”.
- Välj Förvarstypen som Git och ställ in förvaret.Jag använder min GIT-plats https://github.com/karthi4india/jenkins/.
- vi kan nu lägga till ett nytt Byggsteg med rullgardinsmenyn. Välj Kör Skal.
- Dockerfile tar hand om build, Jenkins behöver bara ringa build och ange ett vänligt namn.
Bygg steg :
ls
docker info
docker build -t jenkins-demo:${BUILD_NUMBER} .
docker tag jenkins-demo:${BUILD_NUMBER} jenkins-demo:latest
docker images
det första kommandot listar alla filer i katalogen som kommer att byggas. När du ringer docker build använder vi Jenkins build-numret som bildtaggen. Detta gör att vi kan version våra Docker bilder. Vi märker också byggnaden med senaste.
Docker fil:
FROM scratch
EXPOSE 80
COPY http-server /
CMD
på vänster sida väljer du Bygg Nu. Du bör se en byggnad planerad med ett meddelande ”(väntar — väntar på nästa tillgängliga exekutör)”.
Jenkins lanserar behållaren och ansluter till den via SSH. Ibland kan det ta ett ögonblick eller två.
du kan se framstegen med
docker logs --tail=10 jenkins
när byggnaden är klar bör du se bilden och taggarna med hjälp av Docker CLI
docker images
gilla det här inlägget? Glöm inte att dela det!