Stel een Jenkins-server in met Docker

Stel Een Jenkins Server In Met Docker



Jenkins is een veelgebruikte open-source automatiseringsserver die helpt bij het automatiseren van de verschillende delen van het softwareontwikkelingsproces, inclusief het bouwen, testen en implementeren van applicaties.

Docker is een containerisatieplatform waarmee we de applicaties en services kunnen uitvoeren in geïsoleerde omgevingen die containers worden genoemd.







In deze tutorial leren we hoe we Jenkins kunnen combineren met Docker, waardoor we een schaalbare en draagbare Jenkins-server kunnen creëren.



OPMERKING: In deze zelfstudie gebruiken we de officiële jenkins/jenkins-afbeelding uit de Docker Hub-repository. Deze afbeelding bevat de huidige Long-Term Support (LTS)-release van Jenkins, die gereed is voor productie.



Creëer een netwerk

De eerste stap is het maken van een nieuw Docker-netwerk om de Jenkins-instantie te isoleren. Dit vergemakkelijkt een betere communicatie.





Om een ​​overbrugd netwerk in Docker te maken, kunnen we de volgende opdracht uitvoeren:

$ docker-netwerk maak jenkins


Hierdoor ontstaat een overbrugd netwerk genaamd Jenkins.



Voer de Jenkins Docker-container uit

Zodra we het netwerk hebben geconfigureerd, kunnen we de Jenkins-container uitvoeren met behulp van de officiële Jenkins Docker-image.

We specificeren ook het netwerk en configureren een volume voor de Jenkins-gegevenspersistentie. De opdracht is als volgt:

docker uitvoeren \
--naam jenkins-docker \
--rm \
--losmaken \
--bevoorrecht \
--netwerk jenkins \
--netwerkalias havenarbeider \
--omg DOCKER_TLS_CERTDIR = / certificaten \
--volume jenkins-docker-certs: / certificaten / klant \
--volume jenkins-gegevens: / was / jenkins_home \
--publiceren 2376 : 2376 \
havenarbeider:van \
--opslag-stuurprogramma overlay2



De vorige opdracht start een Docker-in-Docker (DinD) container met de naam “jenkins-docker” met verhoogde rechten en netwerkconfiguraties.

De vlag –rm zorgt ervoor dat de container automatisch wordt verwijderd wanneer deze stopt. De container is verbonden met het Jenkins-netwerk met de netwerkalias als “docker” zoals gemaakt in de vorige stap.

Vervolgens stellen we de omgevingsvariabelen voor de Docker TLS-certificaten in en koppelen we de volumes voor certificaatopslag en Jenkins-gegevens.

In de volgende sectie publiceren we poort 2376 voor de Docker-daemoncommunicatie.

Ten slotte specificeren we de docker:dind-afbeelding en configureren we het opslagstuurprogramma om de overlay2 te gebruiken.

Toegang tot de Jenkins-webgebruikersinterface

Zodra we de container starten, hebben we toegang tot de Jenkins-instantie vanuit een webbrowser met behulp van de adres.

Als u een eenvoudige Jenkins-container wilt uitvoeren, kunt u de volgende opdracht gebruiken:

$ docker-run -D -P 8080 : 8080 -P 50000 : 50000 --naam jenkins \
--netwerk jenkins \
-in jenkins_home: / was / jenkins_home \
jenkins / jenkins: lts


Hierdoor wordt de Jenkins-server uitgevoerd zonder dat de andere functies, zoals volumes, bindpoorten en meer, hoeven te worden geconfigureerd.

U hebt vervolgens toegang tot het Jenkins-exemplaar op .


Zodra Jenkins klaar is, kunt u met uw browser de Jenkins-server snel configureren met de eigenschappen die u wenst.

Zodra het is ingesteld, moet u Jenkins ontgrendelen door het beheerderswachtwoord op te geven. Je kunt het vinden door de volgende opdracht uit te voeren:

$ docker logt jenkins


De opdracht toont u de logboeken voor de container die het Jenkins-wachtwoord bevat.




De volgende stap is het kiezen en installeren van de plug-ins die u voor uw Jenkins-instantie wilt gebruiken. Als u Jenkins voor de eerste keer gebruikt, kies dan de aanbevolen plug-ins.


Hierdoor zou Jenkins alle standaard plug-ins moeten kunnen downloaden en installeren, waardoor u gemakkelijk met de Jenkins-pijplijnen kunt communiceren.

Conclusie

In deze tutorial heb je geleerd hoe je een Jenkins-server als container kunt instellen met behulp van Docker en de officiële Jenkins-image.