jenkins部署github項目持續集成


一、先介紹正向代理和反向代理

正向代理

 

 

 

 

反向代理

 

 

 

 

 

二、安裝反響代理得到固定域名

http://www.xiaomiqiu.cn/

 

三、Jenkins與Github集成

配置前要求:

1.Jenkins已經安裝Github插件

2.Jenkins服務器已經擁有一個公網IP地址(如果沒有公網IP則需要安裝反向代理進行獲取域名)

 

 第一步:github授權,關聯項目

登錄github---->setting---->Developer settings--->Personal access tokens

 
 

Generate new token(選repo,admin:repo_hook)
 
 

拉到下面確定生成token
 
 

第二步:配置Jenkins全局

盡管Jenkins已經配置與Github代碼庫進行通信,但我們需從Jenkins手動啟動構建,如需啟動自動構建,Jenkins需要在Hook URL中監聽Github的Post請求,才會進行自動構建

要獲取Jenkins的Hook URL,打開Jenkins首頁控制台--》系統管理

在Github插件的配置中,點擊“高級”按鈕

啟用Hook URL,並將Hook URL復制出來,並保存剛才的設置

第二步:配置Github項目倉庫

還需要配置Github項目倉庫,因為Github經常有代碼處理動作,需要配置Github項目倉庫在處理這些動作的同時會發送信號至Jenkins,才使用Jenkins自動構建

在"Webhooks"選項卡中,點擊"Add webhook"

將在Jenkins生成的Hook URL填入至Payload URL中,另外,選擇自主事件

以Push為例,並保存,即當Github收到了客戶端有Push動作時,會觸發一個Hook

保存WebHook之后

第三步:配置Jenkins項目

最后需要配置Jenkins項目觸發的條件,到此刻,Github遇到Push事件時,Jenkins會收到通知,但Jenkins應該做什么呢?此步驟就是做最后的構建的動作。

登錄jenkins,系統管理,系統設置,找到Github服務器

 
 

 
 

 
 

 

保存
jenkins創建任務

 
 

任務配置
 
 

 

 
 
 
 

 
 
這里根據具體情況而定,我是使用了ssh,
 

 
 

先save保存,目前為止jenkins已成功與github項目關聯了,如果push代碼到github上,jenkins就可以得到通知了,關於得到通知后下一步怎么更新服務器上的代碼並重啟項目,看這里jenkins+docker+github實現項目自動部署(下)

緊接上文,本文實現push代碼到github,服務器自動更新代碼並重啟

想要更新服務器的代碼有很多方式,比如如果你項目是java web項目,你可以打包成war包,再發送到服務器的tomcat文件夾下。
我這里采取的方式是在項目里寫一個啟動腳本,啟動腳本里git pull拉取最新代碼,這樣來更新代碼,然后腳本里重啟項目,以springboot項目為例,腳本代碼如下:

#!/usr/bin/env bash

git pull  #更新代碼

#后面這些不重要,就是一些啟動項目的指令,別復制了,會有問題的,
#反正就是把項目的啟動指令放這了,比如java -jar 或者打war包,然后mv xxx.war 到tomcat里
proj_home=$PWD
img_output="demo" 

#更新依賴
mvn clean package -U

docker build -t $img_output .

docker rm -f demo

docker run -d --restart=on-failure:5 --privileged=true \
       -p 8080:8080 \
       --name demo  demo \
       java \
       -Duser.timezone=Asia/Shanghai \
       -jar /home/demo.jar

好了,現在啟動腳本有了,那么怎么讓jenkins在知道有代碼push時怎么執行這個腳本呢?
回到jenkins,我們需要裝個ssh插件來遠程登錄服務器,運行腳本

系統管理----》插件管理

 
 

 

 
 

刷新一下,重啟中,等待片刻

 
 

 

系統管理----》系統配置,如果插件安裝成功的話,會多一個這個配置

 

 
 

保存
繼續完成上一篇尚未完成的任務配置
 
 

 
 

 
 

 

 
 

保存,至此所有配置都已完成,可以點這里測試一下,是否能重啟項目

 
 

 
 

 
 

 

如果這樣能成功啟動的話,可以試一下push代碼看看是否能自動觸發


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM