這里以gitbook的項目為例,GitHub中的gitbook項目部署在Jenkins中,執行git push命令時自動執行Jenkins構建,其他項目只是最后的執行腳本不同
環境准備
- 安裝Jenkins,詳情見Jenkins安裝
- 配置Jenkins插件,Git,GitHub的一些相關插件
- 安裝gitbook,見gitbook 安裝,如果你的項目不是gitbook的,這個可以不用安裝
獲取GitHub的Personal access token
- 進入GitHub,點擊
setting
,進入setting頁面,點擊左下角的Developer settings
,如下圖:
- 跳轉到”Developer settings”頁面后,點擊左下角的
Personal access tokens
,如下圖:
- 跳轉到”Personal access tokens”頁面后,點擊右上角的
Generate new token
按鈕,如下圖:
- 可能會提示輸入GitHub密碼,輸入后跳轉到創建token的頁面,如下圖所示,隨便輸入
Token description
,再勾選repo
和admin:repo_hook
,再點擊底部的Generate token
按鈕,就能產生一個新的access token,將此字符串復制到記事本,后面jenkins任務中會用到(注意:關閉這個頁面就找不到這個字符串了):
配置Jenkins
- 進入系統設置:
- 在系統設置頁面找到”GitHub”,點擊
添加GitHub Server
,如下圖,名稱隨便起,API URL
填寫https://api.github.com,憑據
位置如下圖紅框所示,選中管理 Hook
選擇Add
->Jenkins
:
- 彈出的頁面中,
類型
選擇Secret text
,Secret
填入前面在GitHub上生成的Personal access tokens
,描述
隨便寫一些描述信息,點擊添加
完成添加.如下圖:
- 填寫完畢后,點擊右側的
連接測試
按鈕,如果信息沒有填錯,顯示的內容如下圖所示:
- 點擊頁面最底部的
保存
按鈕
GitHub的項目主頁和倉庫地址
項目主頁和倉庫地址是不同的,如下圖,紅框1中是項目主頁,點擊紅框2的按鈕后,紅框3中是倉庫地址(要用HTTPS的,不用SSH 的):
我的項目主頁:https://github.com/Mingyue12345/OpenAPI-doc
我的倉庫地址:https://github.com/Mingyue12345/OpenAPI-doc.git
Jenkins中新建構建項目
在Jenkins上新建一個名為 “openapi-doc” 的項目
接下來對Jenkins項目進行配置
源碼管理設置
上圖中每個紅框的設置如下解釋:
- 選擇
Git
Repository URL
輸入倉庫地址:https://github.com/Mingyue12345/OpenAPI-doc.gitCredentials
創建一個Credentials,類型選擇Username with password
,Username輸入GitHub賬號,Password輸入GitHub密碼,描述隨便輸入,如下圖源碼庫瀏覽器
選擇githubweb
URL
輸入項目主頁:https://github.com/Mingyue12345/OpenAPI-doc
構建觸發器
構建觸發器
中勾選GitHub hook trigger for GiTScm polling
,如下圖
構建環境和綁定
如下圖所示,勾選Use secret text(s) or file(s)
,下面的”憑據”選擇我們之前配置過的Personal access tokens
構建
設置構建腳本,這里選擇 執行 Shell
,gitbook的項目可以這樣配置,詳細介紹如下:
- 執行
gitbook build
生成靜態頁面 - 將
_book
文件夾下的所有文件復制到tomcat安裝目錄的/webapps/test/
- 瀏覽器訪問tomcat服務器的http://ip:8080/test就可以查看這個書籍了
配置GitHub的webhook地址
webhook是通知Jenkins時的請求地址,用來填寫到GitHub上,這樣GitHub就能通過該地址通知到Jenkins;
假設登錄Jenkins的地址是: http://192.168.0.1:8080/jenkins,那么webhook地址就是 http://192.168.0.1:8080/jenkins/github-webhook
- 登錄GitHub,進入要本次構建用到的工程;
- 在工程主頁面點擊右上角的
Settings
,再點擊左側Webhooks
,然后點擊Add webhook
,如下圖:
- 在
Payload URL
位置填入webhook地址,再點擊底部的Add webhook
按鈕,這樣就完成webhook配置了,今后當前工程有代碼提交,GitHub就會向此webhook地址發請求,通知Jenkins構建
測試
可以先在Jenkins的項目頁面點擊立即構建
手動執行一下構建,如果成功的話,可以測試一下執行push命令以后能不能自動構建