有時候開發須要查看服務器日誌,傳統的是須要運維登陸服務器拉取開發所須要的服務日誌,這麼作的弊端是:一、若是日誌比較大,拉取耗費時間、佔用服務器資源。二、佔用運維沒必要要的工做量。三、爲了服務器安全考慮,反覆的登陸服務器,容易被一些內部員工記住服務器密碼或祕鑰。python
廢話很少說,先來看效果:git
當咱們點擊上面項目名後面的參數化構建(build with parameters)時,出現下面界面shell
當咱們在N框輸入所要看的日誌行數,下面日期能夠輸時間,也能夠不輸(不輸就默認輸出如今的日誌),而後點擊「開始構建」,構建完畢後,就能夠看到服務器上的日誌顯示在Jenkins控制檯上tomcat
而後選擇「參數化構建」,而後添加兩個「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就是供後面傳參的。ssh
剩下的基本上默認便可post
當配置完,保存後,就能夠實現剛纔手動構建日誌的功能 了。測試
這個功能主要是實現構建時能夠選擇是構建項目仍是回滾項目,接下來下貼上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中配置日期格式)
當選擇deploy時就執行構建新項目,若是選擇rollback時就執行回滾操做。
有時候咱們但願使用固定的幾個分支來構建,那麼咱們把分支名填入便可。
參數化構建中選擇「選項參數」,填入分支名
2,不固定分支
有時候,開發想自建分支,這樣分支就會不少,而又不想合到現有主分支上測試,那麼就須要自定義分支了。
第一步:安裝插件
第二步:進到配置項目中,點擊「參數化構建過程」,選擇git parameter,輸入name,而後選擇parameter Type爲「branch or tag」
配置完保存便可。