Hur man skapar ett nytt byggjobb i Jenkins Freestyle-projekt

โšก Smart sammanfattning

Jenkins Freestyle Project รคr ett repeterbart byggjobb som samlar kรคllkodsutcheckning, byggsteg och efterbyggningsรฅtgรคrder i en konfigurerbar uppgift, skapad helt och hรฅllet genom Jenkins webbgrรคnssnitt utan att skriva pipeline-kod.

  • ๐Ÿ”˜ Definition: Ett freestylejobb รคr Jenkins' generell projekttyp, konfigurerad via formulรคr snarare รคn en Jenkinsfil.
  • โ˜‘๏ธ Fรถrkunskaper: En lรถpning Jenkins en kontroller, en JDK pรฅ byggagenten, Git-pluginet och ett nรฅbart repository krรคvs fรถrst.
  • โœ… Tio steg: Logga in, skapa ett nytt objekt, namnge det, ange arkivet, lรคgg till ett byggsteg, spara, bygg och lรคs konsolutdata.
  • ๐Ÿงช Utarbetat exempel: Ett HelloWorld-projekt hรคmtat frรฅn GitHub kompileras med javac och kรถrs med java inuti en Windows batchbyggsteg.
  • ๐Ÿ› ๏ธ Konfigurationskarta: Sexformulรคrsavsnitt โ€” Allmรคnt, Kรคlla Code Hantering, byggutlรถsare, byggmiljรถ, byggsteg och รฅtgรคrder efter byggandet โ€“ tรคcker alla alternativ.
  • โš™๏ธ Omfattningsgrรคns: Freestyle-jobb passar fรถr automatisering av enskilda uppgifter; leveransarbete i flera steg hรถr istรคllet hemma i ett versionsstyrt pipeline-jobb.

Hur man skapar ett nytt byggjobb i Jenkins Freestyle-projekt

Vad รคr en Jenkins Freestyle-projekt?

Jenkins Freestyle-projekt รคr ett upprepningsbart byggjobb, skript eller pipeline som innehรฅller steg och รฅtgรคrder efter byggandet. Det รคr ett fรถrbรคttrat jobb eller en fรถrbรคttrad uppgift som kan omfatta flera operationer. Det lรฅter dig konfigurera byggutlรถsare och erbjuder projektbaserad sรคkerhet fรถr din Jenkins projekt. Den erbjuder รคven plugins som hjรคlper dig att bygga steg och รฅtgรคrder efter byggandet.

De typer av รฅtgรคrder du kan utfรถra i en Jenkins Byggsteg eller รฅtgรคrder efter byggandet รคr ganska begrรคnsade. Det finns mรฅnga standardplugins tillgรคngliga inom en Jenkins Freestyle-projektet fรถr att hjรคlpa dig att รถvervinna detta problem.

Diagrammet nedan placerar freestyle-jobbet inom det bredare omrรฅdet kontinuerlig integration loop, frรฅn utcheckning av kรคllkod till de รฅtgรคrder efter byggandet som rapporterar resultatet.

Steg fรถr att skapa ett jobb i Jenkins Freestyle-projekt
Hur man skapar ett jobb i Jenkins

Fรถrutsรคttningar fรถr att skapa en Jenkins Freestyle-jobb

Innan de tio stegen nedan fungerar frรฅn bรถrjan till slut mรฅste fyra saker vara pรฅ plats. Att missa nรฅgot av dem รคr den vanliga anledningen till att ett fรถrsta freestyle-bygge misslyckas med en rรถd boll snarare รคn en blรฅ.

  • En lรถpning Jenkins styrenheten. Jenkins lyssnar pรฅ port 8080 som standard. Om Jenkins inte kรถrs รคn, fรถlj installationsgenomgรฅng fรถrst.
  • En JDK pรฅ maskinen som kรถr bygget. Det bearbetade exemplet kompilerar Java, Sรฅ javac mรฅste finnas pรฅ PATH-sรถkvรคgen fรถr den kontrollant eller agent som utfรถr jobbet. Bekrรคfta detta med en enradig text. java -version byggsteget innan du lรคgger till nรฅgot annat.
  • Git-pluginet. Ocuco-landskapet gรฅ alternativet visas bara under Kรคlla Code Hantering nรคr plugin-programmet รคr installerat, via hantera Jenkins > Insticksprogram.
  • Ett รฅtkomligt arkiv. En offentlig HTTPS URL behรถver inga inloggningsuppgifter. Ett privat arkiv behรถver en inloggningsuppgifter som lagras i Jenkins fรถrst, annars misslyckas utcheckningen under den allra fรถrsta bygget.

Ett konto hos Jobb/Skapa behรถrighet behรถvs ocksรฅ โ€” pรฅ en ny enskild anvรคndare Jenkins administratรถrskontot har det redan.

Hur man skapar ett nytt byggjobb i Jenkins

Freestylebygget รคr ett mycket flexibelt och lรคttanvรคnt alternativ. Du kan anvรคnda den fรถr alla typer av projekt; det รคr lรคtt att installera och mรฅnga av dess alternativ visas i andra byggjobb. Nedan fรถljer en steg fรถr steg process fรถr att skapa jobb i Jenkins.

Steg 1) Logga in pรฅ Jenkins

Fรถr att skapa en Jenkins freestylejobb, logga in pรฅ din Jenkins instrumentpanelen genom att besรถka din Jenkins installationssรถkvรคg. Vanligtvis kommer den att vara vรคrd pรฅ localhost pรฅ http://localhost:8080 Om du installerad Jenkins i en annan sรถkvรคg, anvรคnd lรคmplig URL fรถr att komma รฅt din instrumentpanel enligt nedan Jenkins exempel pรฅ jobbskapande.

Jenkins instrumentpanelen nรฅddes vid Jenkins installationssรถkvรคg efter inloggning

Steg 2) Skapa nytt objekt

Klicka pรฅ "Nytt objektโ€ lรคngst upp till vรคnster pรฅ din instrumentpanel. Skรคrmdumpen nedan visar var lรคnken finns.

Lรคnken "Nytt objekt" lรคngst upp till vรคnster pรฅ Jenkins instrumentbrรคda

Steg 3) Ange artikeldetaljer

Pรฅ nรคsta skรคrm,

  1. Ange namnet pรฅ objektet du vill skapa. Vi kommer att anvรคnda "Hej vรคrlden" fรถr denna demo.
  2. Vรคlj Freestyle-projekt
  3. Klicka pรฅ Okej

Objektnamnsruta med Freestyle-projekt markerat innan du klickar pรฅ OK

Steg 4) Ange projektinformation

Ange informationen om projektet du vill testa. Konfigurationssidan som รถppnas visas nedan.

Projektuppgifter som anges pรฅ Jenkins freestyle-jobbkonfigurationssida

Steg 5) Ange arkivet URL

Under Kรคlla Code Hantering, ange ditt arkiv URLVi har ett testarkiv belรคget pรฅ https://github.com/kriru/firstJava.git

Kรคlla Code Hanteringsavsnitt med Git-testarkivet URL gick in i

Det รคr ocksรฅ mรถjligt fรถr dig att anvรคnda ett lokalt arkiv.

Om ditt GitHub-arkiv รคr privat, Jenkins kommer fรถrst att validera dina inloggningsuppgifter med GitHub och fรถrst sedan hรคmta kรคllkoden frรฅn ditt GitHub-arkiv.

Steg 6) Justera instรคllningarna

Nu nรคr du har angett alla detaljer รคr det dags att bygga koden. Justera instรคllningarna under SLUTRESULTAT avsnitt fรถr att bygga koden vid den tidpunkt du vill. Du kan till och med schemalรคgga bygget sรฅ att det sker regelbundet, vid bestรคmda tider.

Under uppbyggnad,

  1. Klicka pรฅ "Lรคgg till byggsteg"
  2. Klicka pรฅ "Utfรถrande Windows batch-kommandoโ€ och lรคgg till de kommandon du vill kรถra under byggprocessen.

Listrutan som listar de tillgรคngliga byggstegen ser ut sรฅ hรคr.

Listrutan Lรคgg till byggsteg รถppnades pรฅ konfigurationssidan fรถr freestyle-jobbet

โš ๏ธ Versionsnotering: senaste Jenkins utgรฅvor etikett detta omrรฅde Bygg steg snarare รคn Bygga, och pรฅ Linux eller macOS agenter motsvarande alternativ รคr Kรถr skaletKnappen anropas fortfarande Lรคgg till byggsteg.

Hรคr har jag lagt till java-kommandon fรถr att kompilera java-koden.

Jag har lagt till fรถljande Windows-kommandon:

javac HelloWorld.java
java HelloWorld

Kommandorutan med de tvรฅ inmatade raderna visas nedan.

Utfรถrande Windows batch-kommandoruta som innehรฅller javac- och java-kommandona

Steg 7) Spara projektet

Nรคr du har angett alla uppgifter,

  1. Klicka Ansรถk
  2. Spara projektet.

Steg 8) Bygg kรคllkod

Nu, pรฅ huvudskรคrmen, klicka pรฅ knappen Bygg nu pรฅ vรคnster sida fรถr att bygga kรคllkoden.

Knappen Bygg nu pรฅ vรคnster sida av freestyle-projektskรคrmen

Steg 9) Kontrollera status

Efter att ha klickat pรฅ Bygg nu kan du se status fรถr bygget du kรถr under Bygghistorik.

Panelen Bygghistorik som visar statusen fรถr freestyle-bygget som kรถrdes

Steg 10) Se konsolutgรฅngen

Klicka pรฅ byggnumret och sedan pรฅ konsolens utdata fรถr att se statusen fรถr bygget du kรถr. Det bรถr visas ett meddelande om att det lyckades, fรถrutsatt att du har fรถljt installationsanvisningarna korrekt enligt nedan. Jenkins skapa ett nytt jobbexempel.

Konsolens utdataskรคrm som visar meddelandet om att den fรคrdiga versionen lyckades

Sammanfattningsvis har vi genomfรถrt ett HelloWorld-program som finns pรฅ GitHub. Jenkins hรคmtar koden frรฅn fjรคrrarkivet och bygger kontinuerligt med en frekvens du definierar.

Jenkins Fรถrklaring av avsnitt om konfiguration av Freestyle-projekt

Genomgรฅngen ovan berรถr endast de fรคlt som HelloWorld-exemplet behรถver. Sjรคlva konfigurationssidan รคr indelad i sex formulรคravsnitt, och att veta vad varje sektion รคger gรถr de รฅterstรฅende alternativen mycket lรคttare att hitta.

ยง Vad den kontrollerar Typisk instรคllning
Allmรคnt Jobbbeskrivning, kassering av gamla versioner, parametrar och om jobbet kรถrs pรฅ en specifik agent Descriptjon plus en grรคns fรถr byggretention
Kรคlla Code Verksamhetsledningen Vilket repository som ska checkas ut och med vilka autentiseringsuppgifter och grenar Git, en HTTPS-tjรคnst URL, gren */master or */main
Bygg utlรถsare Vad som startar bygget automatiskt Polla SCM, bygg regelbundet eller en webhook frรฅn GitHub
Bygg miljรถ Omslag appliceras runt hela bygget Ta bort arbetsytan innan bygget startar; lรคgg till tidsstรคmplar i konsolloggen
Bygg steg Kommandona som gรถr jobbet kรถrs uppifrรฅn och ner Utfรถrande Windows batch-kommando, eller Execute shell
ร…tgรคrder efter byggnation Vad hรคnder efter att stegen รคr avslutade, oavsett resultatet Archise artefakterna, publicera en testrapport, skicka ett e-postmeddelande

Tvรฅ vanor sparar mycket felsรถkning senare. Lรคgg till byggsteg i den ordning de mรฅste kรถras, eftersom Jenkins bearbetar dem uppifrรฅn och ner och stoppar vid fรถrsta felet. Arkivera sedan det som bygget producerar som en รฅtgรคrd efter bygget, eftersom arbetsytan รฅteranvรคnds av nรคsta bygg medan arkiverade artefakter behรฅlls per byggnummer.

Freestyle Project vs Pipeline: Vilken ska du anvรคnda?

Freestyle รคr inte den enda projekttypen pรฅ skรคrmen Nytt objekt, och det รคr inte alltid den rรคtta. Tabellen nedan jรคmfรถr den med en Rรถrledningsjobb pรฅ de punkter som avgรถr de flesta verkliga val.

Punkt av jรคmfรถrelse Freestyle-projekt Pipeline
Hur det definieras Webbformulรคr lagrade i jobbets config.xml pรฅ kontrollenheten A Jenkinsfilen som compigerades med programkoden
Fรถrรคndra historien Innehas av Jenkins, utanfรถr ditt arkiv Revvisad och versionerad som vilken annan kรคllfil som helst
Etapper och parallellt arbete En enda platt lista med byggsteg Namngivna etapper, parallella grenar och en etappvy
Inlรคrningskurva Inget skript behรถvs Krรคver den deklarativa pipeline-syntaxen
Bรคsta passform En kompilering, ett skript, en schemalagd uppgift eller inlรคrning Jenkins Bygg, test och driftsรคtt flรถden i flera steg รถver olika miljรถer

En praktisk regel: fรถrsรถk att anvรคnda freestyle medan jobbet รคr en enskild uppgift och du fortfarande lรคr dig verktyget, och flytta arbetet till en CI/CD pipeline sรฅ snart det vรคxer fram ett andra steg eller behรถver granskas tillsammans med koden. Team som parar ihop Jenkins med byggverktyg nรฅr man ofta den punkten snabbt โ€” en Maven och Selenium instรคllning รคr en vanlig utlรถsande faktor fรถr รถvergรฅngen, och samma resonemang gรคller fรถr alla automatiseringstestning svit som kรถrs i flera faser.

Vanliga frรฅgor

Konsolens utdata anger orsaken. De tre vanligaste orsakerna รคr att javac saknas i agentens PATH, ett privat arkiv utan lagrad autentiseringsuppgifter och ett felaktigt grennamn. ร…tgรคrda den rapporterade raden och kรถr sedan Build Now igen.

ร–ppna Byggutlรถsare och markera Bygg regelbundetoch ange sedan cron-syntax som till exempel H 2 * * * fรถr en nattlig lรถprunda. Den H fรถrdelar belastningen รถver timmen. Omrรถstning SCM anvรคnder samma syntax men byggs bara nรคr repositoryt รคndras.

Vรคlja Kรถr skalet frรฅn menyn Lรคgg till byggsteg istรคllet fรถr Kรถr Windows batch-kommando. Vilket alternativ som visas beror pรฅ operativsystemet fรถr den styrenhet eller agent som jobbet รคr kopplat till, inte pรฅ din egen dator.

Lagra token eller SSH-nyckeln en gรฅng under hantera Jenkins > Referenseroch vรคlj den sedan frรฅn rullgardinsmenyn Inloggningsuppgifter i kรคllan Code Ledningssektionen. Jenkins validerar det fรถre utcheckningen, sรฅ en ogiltig autentiseringsuppgifter misslyckas med bygget direkt.

Maskininlรคrningsverktyg lรคser konsolloggar och klustrar upprepade fel, vilket separerar ett genuint kompileringsfel frรฅn en instabil agent eller en timeout. Den prioriteringen pekar dig pรฅ den enda raden som รคr viktig istรคllet fรถr att blรคddra igenom en lรฅng logg manuellt.

GitHub Copilot utarbetar batch- eller skalskriptet inuti ett byggsteg, och dess CLI kan sammanfatta en misslyckad konsollogg. Den kan inte klicka sig igenom konfigurationsformulรคret, sรฅ granska varje genererat kommando innan du sparar.

Lรคgg till Archive artefakterna som en efterbyggande รฅtgรคrd och ge den ett mรถnster som **/*.class. Archived-filer lagras per byggnummer, sรฅ de รถverlever arbetsytan nรคr de รฅteranvรคnds eller rensas vid nรคsta kรถrning.

Varje jobb lever i JENKINS_HOME/jobs/<job-name>, med formulรคrinstรคllningarna i config.xml och varje kรถrning under builds/Det rรคcker med att sรคkerhetskopiera den mappen fรถr att flytta eller รฅterstรคlla jobbet.

Sammanfatta detta inlรคgg med: