目的:
通過Jenkins 集成github,通過監控github動作,在github代碼有提交狀態的時候,通過拉取代碼自動打包,推送到遠程服務器上,來實現自動部署。
本章版本(CentOS 7):
Jenkins 2.204.1
Jenkins 安裝:https://blog.csdn.net/qq_37138756/article/details/103559827
jdk 1.8
jdk 安裝:https://blog.csdn.net/qq_37138756/article/details/103579852
git 1.8.3.1
git 安裝:
Maven 3.1.14
maven 安裝:
1 Jenkins配置
需要jdk,Maven,Git,以及Publish Over SSH支持
環境變量
配置jdk,maven,Git環境變量
如果需要使用maven倉庫,可以指定maven配置文件
系統設置 Publish Over SSH
Publish Over SSH 插件下載:
Publish Over SSH 配置:
配置完成後,點擊Save
參數說明:
Passphrase :服務器的密碼
Path to key : 連接遠程服務器密鑰文件的路徑
Key : 密鑰文件的內容
SSH Servers:
Name : 自定義服務器名,可以隨便填寫
HostName : 遠程服務器IP地址
UserName : 遠程服務器用戶名,和 Passphrase 對應
Remote Directory : 上傳到服務器上目錄
2 新建任務
2.1 新建項目
home頁點擊“New Item”,來新建項目
2.2 選擇項目類型
輸入項目名稱,選擇“構建一個maven項目”,點擊“OK”
注意:如果沒有maven選擇,需要下載插件,在插件中搜索"Maven Integration Plugin" 或者 "Pipeline Maven Integration"來下載,下載完成後重新啓動,即可使用
如果下載下來還是不行,需要下載:Maven Integration
2.3 設置丟棄舊的構建
選擇GitHub項目,並輸入項目的Git地址,並選擇丟棄舊的構建
丟棄舊的構建:
Jenkins在每一次的執行構建後,都會對該構建的項目生成一個歷史構建記錄以及生成一份歷史構建的項目發佈包,如果管理的項目較多,長期的構建,項目越來越多,歷史版本同樣也越來越多。每編譯執行一次,就會生成一個構建記錄以及一份發佈jar包或war包,預留的磁盤越來越滿,有可能面臨崩潰的風險。
2.4 配置源代碼管理
參數說明:
Repository URL : 代碼儲存庫地址(需要監控發佈的地址)
Credentials:代碼庫連接地址
Branch Specifier:分支
認證信息:
注意:
如果報以下錯誤,是git環境配置有問題
如果構建的git倉庫是私網地址,要配置對應域和用戶信息,公網請跳過以下配置
添加完git私庫對應的域名,點擊Ok
然後選中剛剛添加的那條記錄
然後配置域合法的用戶信息,然後確認就ok
2.5 創建觸發器
觸發器建議使用這2種(這裏使用的是第二種):
1.定時構建
Build periodically:Jenkins採用了著名的UNIX任務調度工具CRON所使用的配置方式。
用5個字段代表5個不同的時間單位(中間用空格隔開):分 時 日 月 星期幾
定時構建就是沒隔一段時間就是構建1次任務
0 * * * * 代表每小時0分的時候構建1次項目
2.輪詢SCM
輪詢SCM就是查看源碼管理的代碼有沒有更新,如果更新了就去構建,沒有更新就不會構建
*/5 * * * * 代表每5分鐘就去查看源碼有沒有更新
2.6 配置構建環境
Name : 配置好的遠程連接服務器信息
Transfers :
Source files : 項目構建後,jar或war包存放的目錄(jenkins打好的包爲存放在:.jenkins/workspace/xxxx)
Remove prefix : 去處前綴
Remote directoty : 需要部署的目錄
Exec command : 發佈完執行的命令,這裏寫的是發佈完後重新啓動tomcat
發佈執行命令:
TOMCAT_HOME=/tomcat/apache-tomcat-8.0.53-8090
#停止tomcat服務
sh ${TOMCAT_HOME}/bin/shutdown.sh
ps -ef | grep ${TOMCAT_HOME}/ | grep -v grep| awk '{print $2}' | xargs kill -9
#啓動tomcat服務
sh ${TOMCAT_HOME}/bin/startup.sh
2.7配置構建
Goals and options 裏輸入的內容爲打包的命令
我這裏項目配置的是多環境配置,通過profile配置文件指定環境打包:https://blog.csdn.net/qq_37138756/article/details/103364004
配置完以上構建任務以後,點擊 "Save" 保存,然後開始構建項目
3 構建項目
在home頁選中項目,點擊構建
或者進入到項目
點擊構建以後,在項目主頁面左下角,是可以看到任務狀態的
點任務進去以後,可以看到運行日誌
當出現以下界面的時候,說明構建成功:
問題
1 Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
java變量配置有問題,需要在/root/.bashrc文件中和/etc/profile文件配置的一樣。例:
/etc/profile:
配置完成後刷新權限命令使用:source /etc/profile
/root/.bashrc:
配置完成後刷新權限命令使用:source /root/.bashrc