Warning: Undefined array key 1 in /DISK2/WWW/lipensky.cz/tomas/inc/auth.php on line 78 automatizace:jenkins [Tomas Lipensky - vedomostni koutek] Warning: Undefined array key "stylesheets" in /DISK2/WWW/lipensky.cz/tomas/inc/StyleUtils.php on line 102
Warning: Undefined array key -1 in /DISK2/WWW/lipensky.cz/tomas/inc/html.php on line 1458

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
automatizace:jenkins [2023/03/30 19:21]
tomas [Skripty Groovy]
automatizace:jenkins [2026/01/02 12:34] (current)
tomas [API]
Line 9: Line 9:
 [[http://www.slideshare.net/dstine4/jenkins-and-chef-infrastructure-ci-and-automated-deployment|Prezentace o Jenkinsovi]]\\ [[http://www.slideshare.net/dstine4/jenkins-and-chef-infrastructure-ci-and-automated-deployment|Prezentace o Jenkinsovi]]\\
  
 +==== Dokumentace ====
 +JENKINS_URL/env-vars.html ... popis preddefinovanych promennych\\
 +/queue/api/\\
 +/api\\
 +/script ... scriptovaci konzole\\
 +/jnlpJars/jenkins-cli.jar ... stáhne jenkins-cli.jar pro Jenkins CLI\\
 +
 +====Jenkins CLI====
 +java -jar jenkins-cli.jar -s http://jenkins-test.oskarmobil.cz/ -noCertificateCheck -http -auth user:password  groovy = <plugins.groovy\\
 ==== API ==== ==== API ====
 curl -u UZIVATEL:TOKEN -k https://SERVER/cesta\\ curl -u UZIVATEL:TOKEN -k https://SERVER/cesta\\
Line 25: Line 34:
 https://SERVER/job/SLOZKA/job/SLOZKA/job/deployer/457/consoleText ... výstup z konzole jobu 457 v textové formě\\ https://SERVER/job/SLOZKA/job/SLOZKA/job/deployer/457/consoleText ... výstup z konzole jobu 457 v textové formě\\
 https://SERVER/job/SLOZKA/job/SLOZKA/job/deployer/457/consoleFull ... výstup z konzole jobu 457 v HTML formě\\ https://SERVER/job/SLOZKA/job/SLOZKA/job/deployer/457/consoleFull ... výstup z konzole jobu 457 v HTML formě\\
 +https://SERVER/pluginManager/api/xml?depth=1&xpath=/*/*/shortName|/*/*/version&wrapper=plugins ... seznam pluginů a jejich verzí\\
 ==== Skripty Groovy ==== ==== Skripty Groovy ====
 [[https://groovy-lang.org/documentation.html|Groovy]] jazyk\\ [[https://groovy-lang.org/documentation.html|Groovy]] jazyk\\
Line 129: Line 138:
 input {} ... uživatlský vstup\\ input {} ... uživatlský vstup\\
 stages {} || parallel {} || matrix {} || steps {} ... obsahuje max. 1 z uvedených\\ stages {} || parallel {} || matrix {} || steps {} ... obsahuje max. 1 z uvedených\\
-script {} ... umožnuje vnořit akce, včetně smyček atd.\\ 
 try {} catch () {}\\ try {} catch () {}\\
 for (int i = 0; i < browsers.size(); ++i) { echo "${pole[i]} " }\\ for (int i = 0; i < browsers.size(); ++i) { echo "${pole[i]} " }\\
Line 138: Line 146:
  
 === sekce steps === === sekce steps ===
 +script {} ... umožnuje vnořit akce, včetně smyček atd.\\
 if (sharedTools.shouldRun("build")) {} .. podmínka, provede akce v {} když je podmínka spněna\\ if (sharedTools.shouldRun("build")) {} .. podmínka, provede akce v {} když je podmínka spněna\\
 dir('android') {} ... provede akce v {} v adresáři android\\ dir('android') {} ... provede akce v {} v adresáři android\\
Line 150: Line 159:
 withNPM(npmrcConfig: 'npmrcs-cz') {} ... použije file npmrcs-cz a udělá z něj .npmrc\\ withNPM(npmrcConfig: 'npmrcs-cz') {} ... použije file npmrcs-cz a udělá z něj .npmrc\\
 %%checkout([$class: 'GitSCM', branches: [[name: 'develop']], extensions: [[$class: 'CleanBeforeCheckout']],userRemoteConfigs: [[credentialsId: 'secret1',url: 'https://user@github.bbb.com/ccc/ddd.git']]])%%\\ %%checkout([$class: 'GitSCM', branches: [[name: 'develop']], extensions: [[$class: 'CleanBeforeCheckout']],userRemoteConfigs: [[credentialsId: 'secret1',url: 'https://user@github.bbb.com/ccc/ddd.git']]])%%\\
 +withDockerRegistry([credentialsId: 'aaa', url: "https://REPOSITORY"]) ... provede docker login s kredencema\\
  
 +<code>configFileProvider([fileId:'conf_file', variable:'soubor']) {
 +      script {
 +        echo "Ctu soubor '${soubor}' ..." 
 +        servers = readJSON(file:soubor)  } }</code>
  
  
Line 165: Line 179:
 unsuccessful {} ...\\ unsuccessful {} ...\\
 cleanup {} ... poslední step, provede se po všech ostatních post krocích, ať dopadly jakkoli\\ cleanup {} ... poslední step, provede se po všech ostatních post krocích, ať dopadly jakkoli\\
 +
 +=== Definice funkcí ===
 +def call(body) {def pipelineParams = [:] } ... definice funkce v knihovně. 1 soubor = jedna funkce, název funkce = název souboru, např. /vars/aaa.groovy, funkce aaa(parametr1=2), pipelineParams.parametr1 je vstupní parametr s hodnotou 2\\