At dræbe en zombie eller et job, der ikke reagerer, er noget, der kan ske lejlighedsvis i et Jenkins-miljø, og det er vigtigt at vide, hvordan man håndterer det. Her er en trin-for-trin guide til at hjælpe dig med at gøre det:
1. Identificer zombiejobbet:
Først skal du identificere zombien eller det ikke-reagerende job. Du kan tjekke visningen "Byghistorik" eller "Jobs" i Jenkins for at finde den.
2. Tjek logfiler:
Før du slår jobbet ihjel, er det en god praksis at tjekke jobloggene for at se, om der er nogen fejlmeddelelser eller indikationer på, hvad der kan have fået jobbet til at hænge. Dette kan hjælpe dig med at diagnosticere problemet og forhindre det i at ske igen i fremtiden.
3. Genstart Jenkins:
Nogle gange kan en simpel genstart af Jenkins løse zombie- eller jobproblemer, der ikke reagerer. Stop Jenkins-tjenesten, og start den derefter igen.
4. Dræb jobbet:
Hvis genstart af Jenkins ikke løser problemet, kan du afbryde jobbet manuelt. Gå til Jenkins dashboard, klik på jobnavnet, og klik derefter på knappen "Afbryd".
5. Tjek underordnede processer:
Hvis jobbet stadig ikke er dræbt, kan der være underordnede processer, der forhindrer det i at afslutte. Du kan bruge kommandoen 'ps auxf' i terminalen eller Task Manager (på Windows) til at identificere eventuelle underordnede processer forbundet med zombie-jobbet. Dræb om nødvendigt disse processer manuelt.
6. Ryd køen:
Nogle gange kan et zombiejob blokere for, at andre job starter. For at rydde byggekøen skal du gå til Jenkins dashboard og klikke på "Kø" i menuen til venstre. Klik derefter på knappen "Kassér" ved siden af zombiejobbet for at fjerne det fra køen.
7. Fjern jobmetadata:
I sjældne tilfælde kan zombie-jobbet fortsætte på trods af alle ovenstående trin. For at fjerne det fuldstændigt, skal du muligvis slette dets metadata. Naviger til Jenkins databibliotek, som normalt er placeret ved `"$JENKINS_HOME"`. Find den mappe, der svarer til zombiejobbet, og slet den.
8. Genskab jobbet:
Efter at have sikret, at zombie-jobbet er fuldstændigt dræbt og fjernet, kan du genskabe det, hvis det er nødvendigt. Følg den almindelige jobskabelsesproces i Jenkins til dette formål.
Husk, at aflivning af et zombiejob kun bør udføres, når det er nødvendigt, da det kan påvirke byggehistorikken og jobdataene. Det anbefales altid at prøve andre muligheder, som at genstarte Jenkins eller undersøge logfiler, før du slår jobbet ihjel.