Jenkins 傳遞自定義的參數


1.同一個job之間,不同的shell之間傳遞參數

注意:如果是job參數化構建自定義的參數,可以在job的不同shellj間引用,但是不能改變他的值供后面的shell使用
 
job在執行時會針對所有構建shell生成不同的執行文件,兩個執行文件間的變量不能共享
 
使用直接賦值或export都不能傳遞參數,shell是生成了兩個臨時的.sh腳本,腳本執行結束后變量被回收
例如下面的例子:直接shell1通過a=“xxx”或export b=“yyy”方式定義的變量,shell2都拿不到
 

解決方法:

通過本地文件來寫入和讀取變量內容
例如下面將a和b的值寫入./test.sh文件,shell2通過source讀取本地的./test.sh即而獲得這個參數
 

2.不同job之間傳遞自定義參數

前提安裝插件:Parameterized Trigger Plugin插件
 
在第一個job配置要傳遞的參數
注意:
1.Predefined parameters可以寫多個變量賦值,這些變量名再接下來執行的job里必須參數化構建過了,否則識別不到
2.如果是boolean型的參數,必須用true或false賦值,或者Add Parameters一個Boolean parameters  
 
如果要使用自定義的參數,slave機在不同機器上時,不能通過讀取本地文件來獲取變量,可以通過下面兩種方式讀取變量
1.job1保存文件到本地,然后通過Trigger parameterized build on other projects的方式傳遞給第二個job
 
echo “變量名=變量值" > ./test.sh
 
 
2.通過安裝插件EnvInject Plugin將變量值存儲到jenkins的系統變量中(這個我沒實驗)
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM