Uuden rakennustyƶn luominen Jenkins Freestyle-projekti

⚔ ƄlykƤs yhteenveto

Jenkins Freestyle Project on toistettava koontityƶ, joka yhdistƤƤ lƤhdekoodin uloskirjauksen, koontivaiheet ja koonnin jƤlkeiset toiminnot yhdeksi konfiguroitavaksi tehtƤvƤksi, joka on luotu kokonaan Jenkins web-kƤyttƶliittymƤ ilman putkikoodin kirjoittamista.

  • šŸ”˜ MƤƤritelmƤ: Vapaan tyylin tyƶ on Jenkins'yleiskƤyttƶinen projektityyppi, joka konfiguroidaan lomakkeiden kautta eikƤ Jenkinstiedosto.
  • ā˜‘ļø Edellytykset: Juokseva Jenkins Ensin tarvitaan ohjain, JDK rakennusagentilla, Git-laajennus ja saavutettava repositorio.
  • āœ… Kymmenen askelta: Kirjaudu sisƤƤn, luo uusi kohde, nimeƤ se, aseta tietovarasto, lisƤƤ koontivaihe, tallenna, rakenna ja lue konsolin tuloste.
  • 🧪 Toimiva esimerkki: GitHubista ladattu HelloWorld-projekti kƤƤnnetƤƤn javacilla ja suoritetaan javalla palvelimen sisƤllƤ. Windows erƤn rakentamisvaihe.
  • šŸ› ļø Konfiguraatiokartta: Kuusi lomakeosiota — YleistƤ, LƤhde Code Hallinta, koonnin kƤynnistimet, koontiympƤristƶ, koontivaiheet ja koonnin jƤlkeiset toiminnot – kƤsittelevƤt kaikkia vaihtoehtoja.
  • āš™ļø Laajuusraja: Vapaan tyylin tyƶt sopivat yhden tehtƤvƤn automatisointiin; monivaiheinen toimitustyƶ kuuluu sen sijaan versiohallittuun Pipeline-tyƶhƶn.

Uuden rakennustyƶn luominen Jenkins Freestyle-projekti

MikƤ on a Jenkins Freestyle-projekti?

Jenkins Freestyle-projekti on toistettava koontityƶ, skripti tai prosessi, joka sisƤltƤƤ vaiheita ja koonnin jƤlkeisiƤ toimintoja. Se on parannettu tyƶ tai tehtƤvƤ, joka voi kattaa useita toimintoja. Sen avulla voit mƤƤrittƤƤ koontikƤynnistimiƤ ja se tarjoaa projektipohjaisen suojauksen Jenkins projekti. Se tarjoaa myƶs laajennuksia, jotka auttavat sinua rakennusvaiheissa ja rakennusvaiheen jƤlkeisissƤ toimissa.

Toimintotyypit, joita voit suorittaa Jenkins rakennusvaiheen tai rakennusvaiheen jƤlkeiset toiminnot ovat melko rajalliset. Saatavilla on useita vakiolaajennuksia Jenkins Freestyle-projekti auttaa sinua voittamaan tƤmƤn ongelman.

Alla oleva kaavio sijoittaa vapaauintityƶn leveƤmmƤn osan sisƤpuolelle. jatkuva integrointi silmukka lƤhdekoodin uloskirjauksesta aina tuloksen raportoiviin koontitoimintoihin asti.

Tyƶn luomisen vaiheet Jenkins Freestyle-projekti
Tyƶn luominen Jenkins

Edellytykset luomiselle Jenkins Freestyle-tyƶ

Ennen kuin alla olevat kymmenen vaihetta toimivat alusta loppuun, neljƤn asian on oltava kohdallaan. Jonkin nƤistƤ puuttuminen on tavallisin syy siihen, miksi ensimmƤinen vapaasti rakennettava rakennelma epƤonnistuu punaisella pallolla sinisen sijaan.

  • Juokseva Jenkins ohjain. Jenkins kuuntelee oletuksena porttia 8080. Jos Jenkins ei ole vielƤ kƤynnissƤ, noudata asennusopas ensimmƤinen.
  • JDK koneella, joka suorittaa koonnin. Tyƶesimerkki kokoaa Java, Niin javac tƤytyy olla tyƶn suorittavan ohjaimen tai agentin polulla. Vahvista tƤmƤ yhdellƤ rivillƤ java -version rakennusvaihe ennen kuin lisƤƤt mitƤƤn muuta.
  • Git-laajennus. mennƤ vaihtoehto nƤkyy vain kohdassa LƤhde Code Hallinta, kun laajennus on asennettu, kautta hoitaa Jenkins > Laajennukset.
  • Saavutettava arkisto. Julkinen HTTPS URL ei tarvita tunnistetietoja. Yksityinen tietovarasto tarvitsee tunnistetiedot, jotka on tallennettu Jenkins ensin, muuten uloskirjaus epƤonnistuu aivan ensimmƤisen koonnin aikana.

Tili, jolla on Tyƶ/Luo kƤyttƶoikeus tarvitaan myƶs – uudella yksittƤiskƤyttƤjƤllƤ Jenkins JƤrjestelmƤnvalvojan tilillƤ se on jo.

Uuden rakennustyƶn luominen Jenkins

Freestyle-rakennustyƶ on erittƤin joustava ja helppokƤyttƶinen vaihtoehto. Voit kƤyttƤƤ sitƤ kaikentyyppisissƤ projekteissa; se on helppo asentaa, ja monet sen vaihtoehdoista nƤkyvƤt muissa rakennustƶissƤ. Alla on vaiheittainen prosessi tyƶpaikan luomiseksi Jenkins.

Vaihe 1) Kirjaudu sisƤƤn Jenkins

Luo a Jenkins freestyle-tyƶ, kirjaudu sisƤƤn Jenkins kojelautaan kƤymƤllƤ Jenkins asennuspolku. YleensƤ se sijaitsee localhostissa osoitteessa http://localhost:8080 Jos olet asennetaan Jenkins toisessa polussa, kƤytƤ sopivaa URL pƤƤstƤksesi kojelautaasi alla olevan kuvan mukaisesti Jenkins esimerkki tyƶpaikkojen luomisesta.

Jenkins kojelautaan pƤƤstiin Jenkins asennuspolku sisƤƤnkirjautumisen jƤlkeen

Vaihe 2) Luo uusi kohde

Klikkaa "Uusi kohdeā€ kojelaudan vasemmassa ylƤkulmassa. Alla oleva kuvakaappaus nƤyttƤƤ, missƤ linkki sijaitsee.

Uusi kohde -linkki vasemmassa ylƤkulmassa Jenkins kojelauta

Vaihe 3) Anna tuotteen tiedot

Seuraavassa nƤytƶssƤ

  1. Kirjoita luotavan kohteen nimi. KƤytƤmme "Hei maailma" tƤssƤ demossa.
  2. Valitse Freestyle-projekti
  3. Napsauta OK

Kohteen nimiruutu, jossa Freestyle-projekti on valittuna ennen OK-napsauttamista

Vaihe 4) Anna projektin tiedot

Anna testattavan projektin tiedot. Avautuva mƤƤrityssivu nƤkyy alla.

Projektin tiedot syƶtetty Jenkins freestyle-tyƶn mƤƤrityssivu

Vaihe 5) Siirry arkistoon URL

LƤhteen alla Code Hallinta, SyƶtƤ tietovarastosi URLMeillƤ on testivarasto osoitteessa https://github.com/kriru/firstJava.git

LƤhde Code Hallintaosio Git-testivaraston kanssa URL astui sisƤƤn

On myƶs mahdollista kƤyttƤƤ paikallista arkistoa.

Jos GitHub-arkistosi on yksityinen, Jenkins vahvistaa ensin kirjautumistietosi GitHubilla ja vasta sitten hakee lƤhdekoodin GitHub-arkistostasi.

Vaihe 6) SƤƤdƤ asetuksia

Nyt kun olet antanut kaikki tiedot, on aika rakentaa koodi. Muuta asetuksia alla rakentaa osiota, jotta voit rakentaa koodin haluamallasi hetkellƤ. Voit jopa ajoittaa rakentamisen tapahtuvaksi mƤƤrƤajoin tiettyinƤ aikoina.

Rakenteilla,

  1. Klikkaa "LisƤƤ rakennusvaihe"
  2. Klikkaa "Suorittaa Windows erƤkomentoā€ ja lisƤƤ komennot, jotka haluat suorittaa rakennusprosessin aikana.

KƤytettƤvissƤ olevat rakennusvaiheet listaava alasvetovalikko nƤyttƤƤ tƤltƤ.

LisƤƤ rakennusvaihe -alasvetovalikko avattu freestyle-tyƶn mƤƤrityssivulla

āš ļø Versiohuomautus: ƤskettƤinen Jenkins julkaisut merkitsevƤt tƤmƤn alueen Rakenna vaiheet sen sijaan, Rakentaaja Linuxissa tai macOS agenteille vastaava vaihtoehto on Suorita komentotulkkiPainiketta kutsutaan edelleen LisƤƤ rakennusvaihe.

TƤƤllƤ olen lisƤnnyt java-komennot java-koodin kƤƤntƤmiseksi.

Olen lisƤnnyt seuraavat windows-komennot:

javac HelloWorld.java
java HelloWorld

Komentoruutu, johon nuo kaksi riviƤ on kirjoitettu, nƤkyy alla.

Suorittaa Windows erƤkomentolaatikko, joka sisƤltƤƤ javac- ja java-komennot

Vaihe 7) Tallenna projekti

Kun olet syƶttƤnyt kaikki tiedot,

  1. Napauta kƤyttƤƤ
  2. SƤƤstƤ projekti.

Vaihe 8) Luo lƤhdekoodi

Napsauta nyt pƤƤnƤytƶssƤ vasemmalla olevaa Build Now -painiketta rakentaaksesi lƤhdekoodin.

Rakenna nyt -painike vapaamuotoisen projektinƤytƶn vasemmalla puolella

Vaihe 9) Tarkista tila

Napsautettuasi Rakenna nyt, nƤet suorittamasi koontiversion tilan Rakennushistoria-kohdassa.

Koontihistoria-paneeli, joka nƤyttƤƤ suoritetun freestyle-koonnuksen tilan

Vaihe 10) Katso konsolin lƤhtƶ

Napsauta koontiversion numeroa ja sitten konsolin tulostetta nƤhdƤksesi suorittamasi koontiversion tilan. Sen pitƤisi nƤyttƤƤ onnistumisviesti, jos olet noudattanut asennusohjeita alla olevan mukaisesti. Jenkins luo uusi tyƶesimerkki.

Konsolin tulostenƤyttƶ, jossa nƤkyy valmiin koonnin onnistumisviesti

Yhteenvetona voidaan todeta, ettƤ olemme toteuttaneet GitHubissa isƤnnƶidyn HelloWorld-ohjelman. Jenkins noutaa koodin etƤrepositoriosta ja rakentaa sitƤ jatkuvasti mƤƤrittƤmƤllƤsi taajuudella.

Jenkins Freestyle-projektin konfigurointiosioiden selitys

YllƤ oleva lƤpikƤynti koskee vain HelloWorld-esimerkin tarvitsemia kenttiƤ. Itse mƤƤrityssivu on jaettu kuuteen lomakeosioon, ja kunkin osan ominaisuuksien tunteminen helpottaa huomattavasti jƤljellƤ olevien vaihtoehtojen lƶytƤmistƤ.

Osa MitƤ se hallitsee Tyypillinen asetus
general Tyƶnkuvaus, vanhojen koontiversioiden hylkƤƤminen, parametrit ja se, suoritetaanko tyƶ tietyllƤ agentilla Descriptioni plus kertymisajan raja
LƤhde Code videonhallinta MistƤ arkistosta tallennetaan tiedot ja millƤ tunnistetiedoilla ja haaralla Git, HTTPS-protokolla URL, haara */master or */main
Rakenna laukaisimia MikƤ kƤynnistƤƤ rakentamisen automaattisesti Kysely SCM, koonti sƤƤnnƶllisesti tai webhook GitHubista
RakennusympƤristƶ Koko rakenteen ympƤrille levitetyt kƤƤreet Poista tyƶtila ennen koontiversion aloittamista; lisƤƤ aikaleimat konsolilokiin
Rakenna vaiheet Komennot, jotka tekevƤt tyƶn, kulkevat ylhƤƤltƤ alas Suorittaa Windows erƤkomento tai suorituskomentotulkki
Rakennuksen jƤlkeiset toimet MitƤ tapahtuu vaiheiden jƤlkeen, tuloksesta riippumatta Archiota esiin esineet, julkaise testiraportti, lƤhetƤ sƤhkƶpostia

Kaksi tapaa sƤƤstƤƤ paljon virheenkorjausta myƶhemmin. LisƤƤ rakennusvaiheet siinƤ jƤrjestyksessƤ, jossa ne on suoritettava, koska Jenkins kƤsittelee ne ylhƤƤltƤ alas ja pysƤhtyy ensimmƤisen virheen sattuessa. Arkistoi sitten koonnin tuottamat tiedostot jƤlkikƤteen, koska seuraava koonti kƤyttƤƤ tyƶtilaa uudelleen, kun taas arkistoidut artefaktit sƤilytetƤƤn koontinumeron mukaan.

Freestyle Project vs. Pipeline: Kumpaa kannattaa kƤyttƤƤ?

Vapaa tyyli ei ole ainoa projektityyppi Uusi esine -nƤytƶssƤ, eikƤ se ole aina oikea. Alla oleva taulukko asettaa sen vastakkain Putkilinjan tyƶ niissƤ kohdissa, jotka ratkaisevat useimmat todelliset valinnat.

Vertailupiste Freestyle-projekti Putki
Miten se mƤƤritellƤƤn Tyƶn hakemistoon tallennetut verkkolomakkeet config.xml ohjaimessa A Jenkinstiedosto commited sovelluskoodilla
Muutoshistoria Hallussa Jenkins, arkistosi ulkopuolella Revkatsotaan ja versioidaan kuten mikƤ tahansa muu lƤhdetiedosto
Vaiheet ja rinnakkainen tyƶ YksittƤinen luettelo rakennusvaiheista Nimetyt vaiheet, rinnakkaiset haarat ja vaihekuva
OppimiskƤyrƤ Ei skriptausta tarvita Vaatii deklaratiivisen putkilinjan syntaksin
Parhaiten sopiva Yksi kƤƤnnƶs, yksi komentosarja, yksi ajoitettu tehtƤvƤ tai oppiminen Jenkins Monivaiheinen tyƶnkulkujen rakentaminen, testaus ja kƤyttƶƶnotto eri ympƤristƶissƤ

KƤytƤnnƶn sƤƤntƶ: tartu vapaaseen tyyliin, kun tyƶ on yksittƤinen tehtƤvƤ ja olet vielƤ opettelemassa tyƶkalun kƤyttƶƤ, ja siirrƤ tyƶ pidemmƤlle. CI/CD-putki heti kun se kasvaa toiseen vaiheeseen tai se on tarkistettava koodin rinnalla. Tiimit, jotka muodostavat parin Jenkins rakennustyƶkaluilla pƤƤstƤƤn usein siihen pisteeseen nopeasti — Maven ja Selenium setup on yleinen kytkimen laukaisin, ja sama pƤƤttely pƤtee mihin tahansa automaatiotestaus sarja, joka toimii useissa vaiheissa.

UKK

Konsolin tuloste nimeƤƤ syyn. Kolme yleisintƤ ovat javac-komennon puuttuminen agentin polusta, yksityinen tietovarasto, jossa ei ole tallennettuja tunnistetietoja, ja vƤƤrƤ haaran nimi. Korjaa ilmoitettu rivi ja suorita sitten Build Now uudelleen.

Avaa Build Triggers ja rastita kohta Rakenna sƤƤnnƶllisesti, syƶtƤ sitten cron-syntaksi, kuten H 2 * * * iltalenkille. H jakaa kuorman tuntien ajalle. Kyselyn SCM kƤyttƤƤ samaa syntaksia, mutta se rakentuu vain, kun arkisto muuttuu.

Valita Suorita komentotulkki LisƤƤ rakennusvaihe -valikosta Suorita-vaihtoehdon sijaan Windows erƤkomento. NƤytetty vaihtoehto riippuu sen ohjaimen tai agentin kƤyttƶjƤrjestelmƤstƤ, johon tyƶ on sidottu, ei omasta koneestasi.

Tallenna token tai SSH-avain kerran kohtaan hoitaa Jenkins > Valtakirjatja valitse se sitten LƤhde-kohdan Valtuustiedot-pudotusvalikosta Code Hallinto-osio. Jenkins validoi sen ennen uloskirjautumista, joten huonot tunnistetiedot estƤvƤt koonnin heti.

Koneoppimistyƶkalut lukevat konsolilokia ja ryhmittelevƤt toistuvia virheitƤ erottaen aidon kƤƤnnƶsvirheen epƤvakaasta agentista tai aikakatkaisusta. TƤmƤ prioriteetti osoittaa sinut tƤrkeimpƤƤn riviin sen sijaan, ettƤ selaisit pitkƤƤ lokia kƤsin.

GitHub Copilot luonnostelee erƤ- tai komentosarjan rakennusvaiheessa, ja sen komentoriviliittymƤ voi tiivistƤƤ epƤonnistuneen konsolilokin. Se ei voi napsauttaa mƤƤrityslomaketta, joten tarkista jokainen luotu komento ennen tallentamista.

LisƤƤ ArchiesineitƤ jƤlkikƤteisenƤ toimintona ja anna sille kuvio, kuten **/*.class. Archived-tiedostot tallennetaan koontinumeron mukaan, joten ne sƤilyvƤt tyƶtilassa, jota kƤytetƤƤn uudelleen tai puhdistetaan seuraavassa ajossa.

Jokainen tyƶpaikka asuu JENKINS_HOME/jobs/<job-name>, lomakkeen asetuksilla config.xml ja jokainen juoksee ali builds/Kansion varmuuskopiointi riittƤƤ tyƶn siirtƤmiseen tai palauttamiseen.

TiivistƤ tƤmƤ viesti seuraavasti: