GitBook使用記錄

1. 基本安裝和使用

前提是已經安裝了Node和Git環境,然後安裝GitBook:

npm install -g gitbook-cli

然後在寫作的時候(比如寫一本叫做Jenkins入門),可以在指定的目錄下,先創建一個Jenkins入門文件夾,然後初始化:

# 進入創建的空文件夾
cd Jenkins入門

# 初始化
gitbook init

然後回到Jenkins入門文件夾,看到gitbook已經自動幫我們生成了 README.mdSUMMARY.md 兩個Markdown文件,前者 README.md 和git中一樣,用於寫些項目介紹(這裏就是寫些書本介紹信息),至於後者的 SUMMARY.md 文件是用於羅列書本目錄的,後面gitbook會幫我們自動依據這個文件中的目錄信息生成對應的文件和文件夾,比如寫成下面這樣:

# Summary 目錄

* [介紹](README.md)

* [第一章](第一章/README.md)
    * [第一節:導覽](第一章/第1節--啓航.md)
    * [第二節:創建第一個管道](第一章/第2節--創建第一個管道.md)
* [第二章](第二章/README.md)
    * [第一節:總覽](第二章/第1節--總覽.md)

然後進入到Jenkins入門文件夾再用gitbook init初始化一下,gitBook會依據上述的目錄結構幫我創建好文件夾和文件,結構如下:

gitbook創建的目錄結構

然後可以在已有的目錄結構和文件中進行創作,創作完後,可以使用gitbook serve命令進行在線發佈預覽,比如:

# 發佈並指定端口號
gitbook serve --port=4000

然後訪問4000端口,效果如下:

gitbook發佈效果

這裏的頁面渲染主要是由 Node.js 提供的,除了這種在線發佈外,還可以直接使用gitbook build [gitbook創建源書目錄] [構建本地書籍的輸出路徑]命令來構建本地書籍,比如:

gitbook build . F:\我的第一本書

默認是生成HTML格式的書籍,當然也可以生成其他格式的書籍,比如生成pdf(還需要安裝ebook-convert):gitbook pdf . F:\我的第一本PDF書,但建議不要搞得像我這裏名字搞得這麼奇葩不一致。

2. 版本控制

這裏使用git作版本控制和我們普通工程下使用git控制一樣,簡單說一下,進入在源書本的根目錄

# 初始化本地倉庫
git init

此外,利用GitBook Editor工具可以直接進行即時可見的編輯(需要註冊賬戶,我死活註冊不了),

注:所有內容在githup上,具體參見GitBook

嘗試結合Jenkins完成gitbook的發送到遠程服務器自動化部署,未成功(一直提示無法識別gitbook命令),測試過的方案如下:

1.配置軟件的環境(無效)

ln -s /usr/local/node-v10.14.2-linux-x64/bin/node /usr/local/bin/node
ln -s /usr/local/node-v10.14.2-linux-x64/bin/npm /usr/local/bin/npm
ln -s /usr/local/node-v10.14.2-linux-x64/bin/gitbook /usr/local/bin/gitbook

2.手動添加環境變量(無效)

vim /etc/profile
# 添加Node環境
export NODE_HOME=/usr/local/node-v10.14.2-linux-x64/bin
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$NODE_HOME/bin:$PATH

3.在Jenkins全局環境中添加環境(無效)

在Linux中查看$PATH變量:echo $PATH,然後將出現的字符串複製,粘貼到:系統管理–>系統設置–>Global properties–>環境變量–>Add–>Name爲PATH,Value爲剛剛複製的內容,無效。

4.手動調用環境變量(無效)

在配置任務的“執行Shell”時,在shell命令上方加上#!/bin/bash -il,無效,諸如:

#!/bin/bash -il
gitbook build /usr/local/test/Jenkins入門
gitbook serve /usr/local/test/Jenkins入門 --port=4000

後來嘗試了一下,在Jenkins所在機器A上做了同樣的配置,不上傳到遠程機器B,只在A上進行簡單的執行腳本,可以部署,簡單代碼如下:

cp -r /root/.jenkins/workspace/localhost-gitbook/抽離的知識點/GitBook/Jenkins入門 /usr/local/test/
cd /usr/local/test/Jenkins入門
gitbook init
gitbook serve --port=4000

但通過SSH上傳到B上就不行(B上也配置了A的環境),最終解決方案:後來發現執行的shell不放在在SSH Publishers中的Eexc command中即可,build中再加一個“執行shell”即可,然後直接寫:

cd /usr/local//test/Jenkins入門/
gitbook init
# 將運行日誌重定向到 Jenkins入門.out 文件中
nohup gitbook serve --port=4000 &> Jenkins入門.out

詳細如下:

配置詳情

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章