Jenkins installeren op AlmaLinux 8

Jenkins is een open-source automatiseringssoftware voor continue integratie en ontplooiing van toepassingen.

In een notendop is Jenkins een server die ervoor zorgt dat je project alle ingewikkelde dingen automatisch doet. Je kunt je concentreren op het schrijven van code. Het is een hulpmiddel voor continue integratie, wat betekent dat het geautomatiseerde tests uitvoert telkens als je wat code in een versiebeheersysteem checkt.

Wat kan Jenkins allemaal?

Jenkins kan veel, heel veel dingen. Het meest gebruikelijke gebruik van Jenkins is waarschijnlijk het uitchecken van je project uit het versiebeheersysteem, het bouwen ervan, en het uitvoeren van geautomatiseerde tests tegen de gebouwde toepassing. Dit is echter nog maar het topje van de ijsberg. Jenkins is tot veel meer in staat. Het kan uitroltaken uitvoeren, uit het versiebeheersysteem trekken, het bestandssysteem op veranderingen controleren, en nog veel meer.

Jenkins is open source en hoofdzakelijk in de Java taal geschreven. Het is een automatiseringsserver die we zouden kunnen gebruiken omdat we alle ingewikkelde dingen meer dan eens automatisch willen kunnen doen, zodat Jenkins ze elke keer voor ons doet, dit neemt menselijke fouten weg.

Jenkins kan ons ook helpen door taken te automatiseren, zodat meer werk gedaan wordt met minder inspanning van onze kant. Afhankelijk van wat voor soort taak het is, zullen sommige mensen kiezen voor het automatiseren van tests, terwijl anderen kiezen voor het automatiseren van uitrollen.

In deze gids overlopen we hoe je Jenkins op een AlmaLinux 8 systeem kunt installeren en overlopen we enkele basis configuratie ideeën.

Vereisten

  • Deze gids gaat ervan uit dat je AlmaLinux 8 al op je server geïnstalleerd hebt. Je zou ook SSH toegang tot je server moeten hebben.
  • Root toegang is nodig om Jenkins te installeren en enkele andere taken uit te voeren.
  • Minimum hardware eisen: 1 GB RAM, 10 GB vrije schijfruimte, en een degelijke processor.

Het systeem bijwerken

Voor we beginnen, moet je controleren of je server up-to-date is door het volgende commando uit te voeren. Het is altijd een goed idee om met een fris, bijgewerkt systeem te beginnen.

sudo dnf update -y
sudo dnf upgrade -y
sudo dnf install epel-release

Java installeren

Om Jenkins op AlmaLinux 8 te kunnen installeren, moet Java geïnstalleerd zijn. Omdat Jenkins hoofdzakelijk in de Java taal geschreven is, moeten we Java geïnstalleerd hebben om dit gereedschap te laten werken.

We zullen in deze handleiding OpenJDK gebruiken. OpenJDK is een gratis en open-source implementatie van het Java Platform, Standard Edition (Java SE). Je kunt ook Oracle JDK gebruiken als je dat wilt, maar de AlmaLinux 8 repositories bieden het momenteel niet aan.

Voer het volgende commando uit om OpenJDK op je server te installeren.

sudo dnf install java-1.8.0-openjdk -y

Zodra de installatie voltooid is, controleer je de versie van Java die je geïnstalleerd hebt. Het volgende commando zou de java versie moeten weergeven.

java -version

Voorbeeld uitvoer:

java versie

Jenkins Repository toevoegen

De Jenkins repository is een specifieke plaats op het internet waar je Jenkins kunt downloaden. Er zijn veel van dit soort repositories. We zullen degene gebruiken die het populairst is, degene waarnaar de officiële site van Jenkins verwijst.

Importeer eerst de publieke PGP sleutel die de officiële site van Jenkins gebruikt om hun bestanden te signeren.

rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key

Vervolgens maken we een nieuwe bronlijst /etc/yum.repos.d/jenkins.repo met de volgende inhoud.

sudo tee /etc/yum.repos.d/jenkins.repo<<EOF

[jenkins]
name=Jenkins-stable
baseurl=http://pkg.jenkins.io/redhat-stable
gpgcheck=1

EOF

Voer nu het makecache commando uit om metadata te downloaden voor alle pakketten die in deze lijst beschikbaar zijn.

sudo dnf makecache

Voer vervolgens het onderstaande commando uit om te controleren of deze nieuwe bronlijst correct werd toegevoegd. Je zou in de uitvoer een regel moeten zien die jenkins bevat.

sudo dnf repolist

Voorbeeld uitvoer:

Jenkins Repository toevoegen

Voer het onderstaande commando uit om te controleren of de jenkins repo is ingeschakeld.

sudo dnf repolist Jenkins-stable

Voorbeelduitvoer:

Jenkins Repository toevoegen

Als de Jenkins repo niet is ingeschakeld, voer dan het onderstaande commando uit om hem in te schakelen.

dnf config-manager --set-enabled Jenkins-stable

Jenkins installeren

Nu we de Jenkins repo hebben toegevoegd, kunnen we Jenkins installeren met het onderstaande commando.

sudo dnf -y install jenkins

Eenmaal geïnstalleerd, start en schakel je Jenkins in om automatisch te draaien bij het opstarten met de onderstaande commando’s.

sudo systemctl start jenkins
sudo systemctl enable jenkin

Controleer de status van Jenkins dienst door het volgende commando uit te voeren. Je krijgt een groene active (running) status als alles in orde is.

sudo systemctl status jenkins

Voorbeelduitvoer:

Jenkins installeren

Het stoppen van Jenkins is net zo eenvoudig als het starten ervan met het onderstaande commando.

sudo systemctl stop jenkins

De firewall instellen

Jenkins draait standaard op poort 8080. Om toegang tot deze dienst toe te staan van externe computers, is het nodig de poort te openen. We zullen ook verbindingen op afstand toestaan en TCP verkeer op poort 8080 toelaten met de volgende commando’s.

sudo firewall-cmd --permanent --zone=public --add-port=8080/tcp

Als vuistregel geldt: herlaad de firewall configuratie om elke nieuwe regel die je met het onderstaande commando hebt toegevoegd toe te passen.

sudo firewall-cmd --reload

Voer het onderstaande commando uit om alle firewall regels op te sommen en controleer of er een regel is voor poort 8080.

sudo firewall-cmd --list-all

Voorbeeld uitvoer:

De firewall instellen

Toegang tot Jenkins Web UI

Nu je Jenkins geïnstalleerd en de firewall geconfigureerd hebt, kun je er met je webbrowser toegang toe krijgen door het IP adres of de domeinnaam van de server in te typen, gevolgd door poort 8080. Bijvoorbeeld, als Jenkins geïnstalleerd is op een server met IP adres 192.168.0.1, zou de URL http://192.168.0.1:8080 zijn.

Je komt op de Aan de slag pagina met een veld voor het beheerderswachtwoord, zoals de schermafbeelding hieronder. Jenkins gebruikt het bestand initialAdminPassword om ongeoorloofde installaties te voorkomen. Dit wachtwoord wordt automatisch aangemaakt tijdens de Jenkins installatie, maar wordt niet in de terminal getoond.

Om dit wachtwoord te krijgen, ga je terug naar je terminal en voer je het onderstaande commando uit. Het wachtwoord is rood gemarkeerd.

cat /var/lib/jenkins/secrets/initialAdminPassword

Toegang tot Jenkins Web UI

Kopieer deze wachtwoordwaarde en gebruik hem om het veld Administrator passwordin de Jenkins web UI in te vullen. Vul het gekopieerde wachtwoord in en klik op de Ga door knop.

Toegang tot Jenkins Web UI

Je komt nu op de Customize Jenkins pagina, waar Plugins geïnstalleerd en ingesteld kunnen worden. De eerste, “Install Suggested Plugins,” is de meer aanbevolen route voor nieuwkomers, maar gevorderde gebruikers kunnen beter gaan voor “Select Plugin to install.” Uiteindelijk kun je zelfs later plugins toevoegen of verwijderen vanuit de Jenkins webinterface.

Toegang tot Jenkins Web UI

Als de Plugin installatie voltooid is, kom je op de pagina Create First Admin User. Geef een gebruikersnaam, wachtwoord, en e-mail voor deze admin gebruiker. Het is aan te raden een sterk wachtwoord voor deze account te kiezen. Als je je gegevens hebt ingevoerd, klik je op de Save and Finish knop.

Toegang tot Jenkins Web UI

Houd op de volgende Instance Configuration pagina de standaardwaarden aan en klik op de Save and continue knop.

Toegang tot Jenkins Web UI

Klik tenslotte op Start using Jenkins op de laatste pagina om Jenkins te gaan gebruiken.

Toegang tot Jenkins Web UI

Je wordt naar het Jenkins Dashboard gebracht, waar het aanmaken van jobs kan beginnen.

Toegang tot Jenkins Web UI

Conclusie

In deze handleiding heb je geleerd hoe je Jenkins op een AlmaLinux 8 server kunt installeren en configureren. Je kunt nu beginnen met het toevoegen van jobs aan je Jenkins server, en ook met het bijwerken en bewaken van hun status. Je kunt ook plugins toevoegen om de functionaliteit van Jenkins te verbeteren of hem verder in te stellen vanaf de web UI.