1. 程式人生 > >轉 Jenkins外掛獲取git分支的方法

轉 Jenkins外掛獲取git分支的方法

公司內部的測試環境中使用的Jenkins環境是1.65,現在已經更新了很多個版本了,但是由於一直正常使用也未升級;其實只要功能、安全、穩定性可以一般都很少經常升級的;但是為了跟上開源的步伐在虛擬機器上做了一個新版本的測試;發現之前的好幾個外掛都已經在新版中去掉了;本次僅記錄經常使用到的git程式碼分支獲取的外掛問題;

    jenkins可以通過引數化構建,可以極大方便了開發部署,各種引數傳入方便後續呼叫,使用shell指令碼或Python進行處理。

 

1、舊版本的Jenkins可以使用Dynamic Choice Parameter外掛;

使用方法:

Jenkins--->dev-h5-server--->配置--->引數化構建過程--->選擇Dynamic Choice Parameter外掛:

 
  1. Name:   git_branch 
  2.  
  3. Choices Script : 
  4. def gettags = ("git ls-remote -h http://10.0.10.25/h5-server.git").execute() 
  5. gettags.text.readLines().collect { it.split()[1].replaceAll('refs/heads/', '')  }.unique() 

原始碼管理--->Git---> Branches to build

 
  1. 把*/master 改成:$git_branch [就是上面定義的Name值] 

這樣就可以獲取到git程式碼分支了;

 

我在Jenkins舊版[Jenkins ver. 1.653]中有以下提示;[暫時未測試]

Git Parameter Plug-In  0.8.0

Assign git tag or revision number as parameter in Parametrized builds

Warning: This plugin requires dependent plugins be upgraded and at least one of these dependent plugins claims to use a different settings format than the installed version. Jobs using that plugin may need to be reconfigured, and/or you may not be able to cleanly revert to the prior version without manually restoring old settings. Consult the plugin release notes for details.

 

2、新版本[指2.0以上]Dynamic Choice Parameter外掛已經在官方上找不到了,官方說明存在安全漏洞;

所以使用Git Parameter Plug-In 構建引數獲取分支的外掛

使用方法:

Jenkins--->dev-h5-server--->配置--->引數化構建過程--->選擇Git Parameter Plug-In外掛:

 
  1. Name: git_branch 
  2. Description:描述可以寫些什麼 
  3. Parameter Type:選擇Branch 
  4. Branch Filter:  .* 
  5. Tag Filter: * 
  6. Sort Mode:  NONE 
  7. Default Value:  master    #預設不選擇的時候會使用master主幹; 
  8. Selected Value: DEFAULT   #預設值為master 

其它沒寫上來的都留空;

原始碼管理--->Git---> Branches to build

 
  1. 把*/master 改成:$git_branch [就是上面定義的Name值] 

這樣就可以獲取到git程式碼分支了;

其實兩個外掛的方法都是差不多,只是獲取出來的列表有點不一樣,Dynamic Choice Parameter外掛加上指令碼上的切片,只保留了分支名;而Git Parameter Plug-In會把origin/都顯示出來;

 

去掉那段E文的簡單方法:

 
  1. cd jenkins/plugins/git-parameter/WEB-INF/lib/ 

進入到外掛的目錄下,建立一個臨時目錄:

 
  1. mkdir test 
  2. cp git-parameter.jar test/ 
  3. cd test/ 
  4. jar xf git-parameter.jar 
  5. vim ./net/uaznia/lukanus/hudson/plugins/gitparameter/GitParameterDefinition/index.properties 

把第二行刪除,儲存後再重新打包:

 
  1. jar cvf git-parameter.jar .* 
  2. /bin/cp git-parameter.jar ../     

替換原來的檔案,建議修改前先備份一下;重新打包後大小從原來的64K變成了1.2M有點誇張;

重新啟動Jenkins服務時就可以發現那一段已經去掉