Erinevus lehekülje "Jenkins" redaktsioonide vahel
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 | + | 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