之前關於jenkins的基本安裝配置等都介紹了,現在終於可以開始進行我們的自動部署了。
1.創建任務
在jenkins主頁面左側菜單選擇New一個任務,填寫名稱dev(自己定義就行),選擇構建一個自由風格的軟件項目,點擊ok進入任務配置頁面
2.任務配置
在General填寫一下任務描述
在Source Code Management(源碼管理)中選擇git(我用的是git和gitLab,svn的選下面的),然後輸入gitLab地址,下面的Credentials不需要配置,我們要把之前jenkins服務器的公鑰配置到gitLab的SSH Keys中。然後Branches to build選擇你的分支。
在Build Triggers(構建觸發器)中選擇“輪詢 SCM”
在Build(構建)的Add build step中選擇“調用頂層Maven”目標,Maven version選擇maven,Goals填寫命令:clean package -Dmaven.test.skip=true
在Post-build Actions(構建後操作)的Add post-build action中選擇“Send build artifacts over SSH”,因爲我這裏有兩個需要部署的服務器,第一個填寫完成之後,還需要Add Server,在添加另一個服務器,並填寫配置。
SSH Server Name:之前在系統設置裏配置的服務器名稱
Transfer Set Source files:需要上傳到服務器的文件
Remove prefix:去掉前綴
Remote directory:可選的目標文件夾
Exec command:在遠程服務器將要執行的命令,(這裏需要自己寫個小腳本,腳本內容結束原來的jar進程,啓動新的jar進程,然後在這裏調用這個腳本,對服務進行重新啓動)
高級選項(一般不需要填寫):
Exclude files:排除的文件(在傳輸目錄的時較有用,使用通配符,例如:/*.log,/*.tmp,*.txt/)
Pattern separator:分隔符(配置Transfer Set Source files的分隔符)
No default excludes:禁止默認的排除規則
Make empty dirs:此選項會更改插件的默認行爲。默認行爲是匹配該文件是否存在,如果存在則創建目錄存放。選中此選項會直接創建一個目錄存放文件,即使是空目錄。
Flatten files:只上傳文件,不創建目錄(除了遠程目錄)
Exec timeout (ms):運行腳本的超時時間(毫秒)
Exec in pty:模擬一個終端執行腳本
Add Transfer Set:增加一個傳輸配置
Remote directory is a date format:遠程目錄建立帶日期的文件夾(需要在Remote directory中配置日期格式)
到這裏就配置完了,點擊save保存
3.運行任務
點擊立即構建,Console Output可以查看構建的日誌輸出。如果構建成功,去服務器看一下項目有沒有重新部署。
時間緊急先記錄一下,以後有時間完善