安裝了GitBook,內網使用,沒法用上gitbook的網頁。
用gitbook serve只能展示一本書,而且也不利於長期維護。
於是使用gitlab,jenkins,和nginx配合gitbook使用。
基本的流程是這樣的,每本書作為項目托管到gitlab上,每次提交,gitlab會觸發jenkins,jenkins會把倉庫的內容拉下來,gitbook build 並復制到Web server(Nginx)的目錄下,並加上可讀權限,然后局域網內的人就都可以直接訪問了。
下面記錄過程
首先機器上已經安裝好了gitlab,jenkins,gitbook和nginx。
然后要給jinkins執行shell程序的sudo權限。
編輯 /etc/sudoers 文件
加上
jenkins ALL=(ALL) NOPASSWD:ALL
這樣jenkins就有sudo權限了而且免輸密碼
然后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
