Erinevus lehekülje "Jenkins" redaktsioonide vahel
49. rida: | 49. rida: | ||
Jenkins käivitab shelli käske /bin/sh abil mitte bashiga, mistõttu vaja keerukamate käskude algusse panna #!/bin/bash | Jenkins käivitab shelli käske /bin/sh abil mitte bashiga, mistõttu vaja keerukamate käskude algusse panna #!/bin/bash | ||
+ | |||
+ | Üldiselt on hea mõte tekitada tööde juurde $git_refspec nimeline muutuja mis sisaldab endas branchi versiooni numbrit. Seadistad saab selle | ||
+ | |||
+ | */$git_refspec | ||
+ | |||
+ | Kui tahtmine aga branchi asemel kasutada tagi tuleb kirjutada | ||
+ | |||
+ | refs/tags/$git_refspec |
Redaktsioon: 1. juuli 2019, kell 13:56
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
Samuti ei pea kõiki ehituseks vajalikke pakke otse jenkinsi serverisse paigaldama vaid on võimalik kasutada ka dockerit, näiteks soovides ehitada maveni abil pakki
docker run --rm -v $PWD:/root -w /root maven mvn package
Või kasutades gradlet tekitada jar fail
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
Üldiselt on hea mõte tekitada tööde juurde $git_refspec nimeline muutuja mis sisaldab endas branchi versiooni numbrit. Seadistad saab selle
*/$git_refspec
Kui tahtmine aga branchi asemel kasutada tagi tuleb kirjutada
refs/tags/$git_refspec