一、參數化構建日志
1、查看效果
有時候開發需要查看服務器日志,傳統的是需要運維登錄服務器拉取開發所需要的服務日志,這么做的弊端是:1、如果日志比較大,拉取耗費時間、占用服務器資源。2、占用運維不必要的工作量。3、為了服務器安全考慮,反復的登錄服務器,容易被一些內部員工記住服務器密碼或秘鑰。
廢話不多說,先來看效果:
當我們點擊上面項目名后面的參數化構建(build with parameters)時,出現下面界面
當我們在N框輸入所要看的日志行數,下面日期可以輸時間,也可以不輸(不輸就默認輸出現在的日志),然后點擊“開始構建”,構建完畢后,就可以看到服務器上的日志顯示在Jenkins控制台上
2、Jenkins上配置
然后選擇“參數化構建”,然后添加兩個“string parameter”,輸入下面內容
然后下面的默認即可
然后在構建環境中選擇“send files or excute commands over SSH after the build runs”(構建完執行命令),在SSH server中選擇要查看日志的服務器
然后在執行命令的地方填上代碼“tail -$N /data/tomcat/logs/catalina.out$DATE”,其中的N和DATE就是供后面傳參的。
剩下的基本上默認即可
當配置完,保存后,就可以實現剛才手動構建日志的功能 了。
二、參數化構建/回滾項目
1、Jenkins配置
這個功能主要是實現構建時可以選擇是構建項目還是回滾項目,接下來下貼上Jenkins上的配置。
簡單說就是利用參數化構建,建立choice,choice里面建立兩個變量,一個是發布新版,一個是回滾舊版。選擇變量類型string parameter來傳遞要回滾的版本號。構建時選擇運行bat腳本,寫上判斷語句,判斷是發布還是回滾。bat腳本里也可以內置pathon腳本,把條件判斷寫在python腳本,運行命令寫上python xx.py即可
選擇參數化構建,添加參數中選擇“choice”和“string parameter”,然后填上下面內容。
接下來雖然不是參數化構建的重點,但是確實構建的重點。每個公司的構建插件不一樣,這里使用的是插件publish over ssh 。
上面截圖的內容意思是指定Jenkins上工作目錄上需要上傳到遠程服務器的war包,指定Jenkins服務器上構建時需要移除的目錄(已構建過的以前的項目),指定遠程服務器上源碼存放的路徑,然后在遠程服務器上執行shell目錄下的腳本。
下面截圖是Jenkins工作目錄下項目
啟用步驟: 構建后操作→Add post-build action→Send build artifacts over SSH SSH Server Name:選個一個你在系統設置里配置的配置的名字 Transfer Set Source files:需要上傳的文件(注意:相對於工作區的路徑。看后面的配置可以填寫多個,默認用,分隔) Remove prefix:移除目錄(只能指定Transfer Set Source files中的目錄) Remote directory:遠程目錄 Exec command:把你要執行的命令寫在里面;也可以填寫腳本路徑(存放在遠程服務器上的絕對路徑) (新版本的要求Transfer Set Source files和Exec command都要填寫,可以不了他。老版本的允許只填寫一個) 高級: Exclude files:排除的文件(在你傳輸目錄的時候很有用,使用通配符,例如:**/*.log,**/*.tmp,.git/) Pattern separator:分隔符(配置Transfer Set Source files的分隔符。如果你這兒更改了,上面的內容也需要更改) No default excludes:禁止默認的排除規則(具體的自己看幫助) Make empty dirs:此選項會更改插件的默認行為。默認行為是匹配該文件是否存在,如果存在則創建目錄存放。選中此選項會直接創建一個目錄存放文件,即使是空目錄。(個人理解) Flatten files:只上傳文件,不創建目錄(除了遠程目錄) Remote directory is a date format:遠程目錄建立帶日期的文件夾(需要在Remote directory中配置日期格式)
2、效果
當選擇deploy時就執行構建新項目,如果選擇rollback時就執行回滾操作。
三、分支參數化構建
1、固定分支
有時候我們希望使用固定的幾個分支來構建,那么我們把分支名填入即可。
參數化構建中選擇“選項參數”,填入分支名
2,不固定分支
有時候,開發想自建分支,這樣分支就會很多,而又不想合到現有主分支上測試,那么就需要自定義分支了。
第一步:安裝插件
第二步:進到配置項目中,點擊“參數化構建過程”,選擇git parameter,輸入name,然后選擇parameter Type為“branch or tag”
配置完保存即可。