在平常的工做當中,會有許許多多的測試環境,一個項目每每會有不少的子系統,子系統之間是經過不一樣的項目單獨進行構建。好比下面咱們公司的場景:
咱們有branches、branchesv二、branchesv三、branchesv四、tags5個測試環境,每個測試環境中會有
www.abc.com
h5.abc.com
m.abc.com
vip.abc.com
orderapi.abc.com
pics.abc.com
以上各個系統,並且一直在作加法,面對如此多的測試環境,對於運維工做是一個很大的挑戰。api
PS:特殊需求,針對咱們交付後的測試環境必須對代碼進行凍結,不能將代碼構建到交付環境運維
具體需求點:
1.須要適應環境的變化,動態調整測試環境
2.快速更新每一個子系統的參數配置ide
方案:
1.採用K8S的命名空間增長或者銷燬測試環境
2.集中管理jenkins參數來源測試
集中管理jenkins參數有如下幾種方案:
1.經過SVN目錄來動態獲取(list subversion tags插件)
2.經過Extended Choice Parameter中配置文件進行管理插件
經過對比咱們發現SVN動態獲取比較麻煩,須要依賴SVN。對此咱們選擇了配置文件的方案。
1.首選咱們在新建一個c:\conf\jks.conf配置文件做爲參數的配置,文件內容以下:
envs=branches,branchesv2,branchesv3,branchesv4,tagsblog
2.jenkins若是沒有安裝Extended Choice Parameter,須要單獨安裝一下ip
3.在項目的配置中選擇This project is parameterized,同時選擇Extended Choice Parameterjenkins
點擊保存便可。it
4.構建的時候就能夠選擇
io
只要編輯c:\conf\jks.conf文件中的參數便可達到修改構建環境。