安裝了GitBook,內網使用,無法用上gitbook的網頁。html
用gitbook serve只能展現一本書,並且也不利於長期維護。nginx
因而使用gitlab,jenkins,和nginx配合gitbook使用。git
基本的流程是這樣的,每本書做爲項目託管到gitlab上,每次提交,gitlab會觸發jenkins,jenkins會把倉庫的內容拉下來,gitbook build 並複製到Web server(Nginx)的目錄下,並加上可讀權限,而後局域網內的人就均可以直接訪問了。web
下面記錄過程shell
首先機器上已經安裝好了gitlab,jenkins,gitbook和nginx。gitlab
而後要給jinkins執行shell程序的sudo權限。測試
編輯 /etc/sudoers 文件ui
加上url
jenkins ALL=(ALL) NOPASSWD:ALL
這樣jenkins就有sudo權限了並且免輸密碼spa
而後jenkins要安裝一些插件,Git client plugin Git plugin Gitlab Hook Plugin (也許只要最後一個?我是一次性三個都安裝了)
假設個人機子的IP是192.168.1.2,gitlab在端口8081,jenkins在端口8082,nginx在80端口而且開放了文件夾/www/
接下來舉個例子
/**********************在gitlab上新建項目並配置web hook**********************************/
在gitlab上新建一個項目
好比叫作 Books_測試,對應的url爲
http://192.168.1.2:8081/zhuangqiubin/Books_ceshi
在項目頁面左下角進入Settings
左邊面板選擇Web Hooks
填入url
http://192.168.1.2:8082/gitlab/build_now
點擊左下按鈕 Add Web Hook
而後在本機新建 README.md 和 SUMMARY.md 兩個文件,提交到這個項目中去
/********************配置jenkins****************************************************/
登錄jenkins http://192.168.1.2:8082
左上角新建 填入名稱 好比叫作 GitBook_測試
選擇 構建一個自由風格的軟件項目
點擊OK 進入詳細設置
源碼管理 選擇git
Repository URL 填入 項目url 好比
http://192.168.1.2:8081/zhuangqiubin/Books_ceshi.git
Credentials 處點擊ADD 填入你的gitlab用戶名和密碼
肯定添加後 把none換成你剛剛添加的用戶名密碼
最後 Add Repository 肯定
往下 構建 增長構建步驟 Execute shells
加入如下代碼 (把其中的 測試 替換成你想要的書名)
gitbook build sudo rm -rf /www/books/測試 sudo cp -a _book /www/books/測試 sudo chmod 777 /www/books/測試
肯定後 在本機clone 編輯一下 再push回去 看是否能觸發構建
而後就能夠在本機編輯,提交,而後到對應頁面 好比
http://192.168.1.2/books/測試/
查看效果了
這樣之後就能夠用gitlab來管理gitbook了,只要提交就自動build並搬運到www文件夾供其餘人訪問
本文連接:http://www.cnblogs.com/zqb-all/p/5371255.html