Erinevus lehekülje "Jenkins" redaktsioonide vahel

Allikas: Kuutõrvaja
11. rida: 11. rida:
 
Misjärel peaks saama selle veebiliidesele üle http://localhost:8080/ aadressi ligi
 
Misjärel peaks saama selle veebiliidesele üle http://localhost:8080/ aadressi ligi
  
Luues freestyle projekti, saab avanevas veebivormis määrata giti allika kust jenkins koodi tirib, lisada build-stenkäsud-skripti, mis koodi peale allatõmbamist valmis ehitab ja paar käsku-skripti mis valmis rakendust peale seda testib ja rakendusserverisse uploadib. Nende sammude juures saab seejuures kasutada ka muutujaid ning luua valikmenüüsid kust võimalik eri parameetreid või prod-test keskkondi vahtada
+
Luues freestyle projekti, saab avanevas veebivormis määrata giti allika kust jenkins koodi tirib, lisada build käsud või skripti, mis koodi peale allatõmbamist valmis ehitab ja paar käsku-skripti mis valmis rakendust peale seda testib ja rakendusserverisse uploadib. Nende sammude juures saab seejuures kasutada ka muutujaid ning luua valikmenüüsid kust võimalik eri parameetreid või prod-test keskkondi vahetada
 +
 
 +
Näiteks soovides ehitada gitis oleva koodi maveni abiga saab kasutada järgnevat käsku
 +
 
 +
docker run --rm -v $PWD:/root -w /root maven mvn package
 +
 
 +
Samuti ei pea kõiki ehituseks vajalikke pakke otse jenkinsi serverisse paigaldama vaid on võimalik kasutada ka dockerit, nt gradle jaoks
 +
 
 +
docker run --rm \
 +
  -v "$PWD":/home/gradle/project \
 +
  -u root \
 +
  -e HOME=. \
 +
  -w /home/gradle/project \
 +
  gradle \
 +
  gradle bootJar --info
  
 
Valides This project is parameterized saab lisada projektidele ka erinevaid muutujaid
 
Valides This project is parameterized saab lisada projektidele ka erinevaid muutujaid

Redaktsioon: 4. juuni 2019, kell 12:06

Jenkins on serveritarkvara, mis aitab automatiseerida erinevate tarkvaraprojektide ehitust ja paigaldust.

Jenkinsi peamine ülesanne on käivitada eeldefineeritud samme - nt tõmmata alla javas kirjutatud rakenduse algkood, ehitada sellest kokku jar fail ning kopeerida see õnnestumise korral rakendusserverisse. Aga sellega saab automatiseerida igasuguseid serverites tehtavaid töid.

Jenkinsi käivitamiseks tuleb tõmmata kodulehelt jenkins.war ning panna see käima

java -jar jenkins*.war

Misjärel peaks saama selle veebiliidesele üle http://localhost:8080/ aadressi ligi

Luues freestyle projekti, saab avanevas veebivormis määrata giti allika kust jenkins koodi tirib, lisada build käsud või skripti, mis koodi peale allatõmbamist valmis ehitab ja paar käsku-skripti mis valmis rakendust peale seda testib ja rakendusserverisse uploadib. Nende sammude juures saab seejuures kasutada ka muutujaid ning luua valikmenüüsid kust võimalik eri parameetreid või prod-test keskkondi vahetada

Näiteks soovides ehitada gitis oleva koodi maveni abiga saab kasutada järgnevat käsku

docker run --rm -v $PWD:/root -w /root maven mvn package

Samuti ei pea kõiki ehituseks vajalikke pakke otse jenkinsi serverisse paigaldama vaid on võimalik kasutada ka dockerit, nt gradle jaoks

docker run --rm \
  -v "$PWD":/home/gradle/project \
  -u root \
  -e HOME=. \
  -w /home/gradle/project \
  gradle \
  gradle bootJar --info

Valides This project is parameterized saab lisada projektidele ka erinevaid muutujaid

Ssh käsu käivitamist saab lihtsustada läbi muutujate kasutamise

ssh_command="ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null test@server.ee"
$ssh_command "cd /srv && wget -c https://repo1.maven.org/maven2/org/opentripplanner/otp/1.3.0/otp-1.3.0-shaded.jar"

Failide kopeerimine peale õnnestunud ehitust

scp -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null build/*.jar kasutaja@server:/srv

Et anda mingit muutujat ühelt töölt teistele edasi tuleb paigaldada plugin “Parameterized Trigger Plugin”.

Nüüd saab post-build actioni juures defineerida trigger parameterized build on other projects ning seal defineerida muutujaid stiilis

muutuja=väärtus

või siis eelnevalt sisestatud string parameetreid

git_refspec=${git_refspec}

Jenkins käivitab shelli käske /bin/sh abil mitte bashiga, mistõttu vaja keerukamate käskude algusse panna #!/bin/bash