基于gitbook的本地文檔服務(wù)器

常用的文檔框架有g(shù)itbook和sphinx栏账,兩者都支持markdown格式梁钾,語法上略有區(qū)別武学,前者基于nodejs祭往,后者基于python。

對于文檔編寫火窒,gitbook相對來說更容易上手硼补,故選用gitbook方案。

文檔發(fā)布流程

文檔源文件托關(guān)于代碼倉庫gerrit熏矿,文檔開發(fā)者本地編寫完成之后提交到gerrit已骇,jenkins監(jiān)控文檔倉庫的對應(yīng)分支,一旦提交就會促發(fā)Jenkins文檔任務(wù)票编,將源mark文檔編譯為html文件褪储,并發(fā)布到文檔服務(wù)器上。

文檔服務(wù)器流程.jpg

gitbook容器

為了方便遷移慧域,文檔服務(wù)器采用容器化的方式鲤竹。

gitbook dockerfile:

FROM node:10.22.0-slim

ARG VERSION=3.2.3

LABEL version=$VERSION

RUN npm install -g gitbook-cli &&\
    gitbook fetch ${VERSION} &&\
    npm cache clear &&\
    rm -rf /tmp/*

EXPOSE 4000 35729

CMD /usr/local/bin/gitbook serve

Makefile

SHELL := /bin/bash

# docker parameters
DOCKERCMD=$(shell which docker)
DOCKERBUILD=$(DOCKERCMD) build
DOCKERSTOP=$(DOCKERCMD) stop
DOCKERRM=$(DOCKERCMD) rm
DOCKERRMIMAGE=$(DOCKERCMD) rmi
DOCKERPULL=$(DOCKERCMD) pull
DOCKERPUSH=$(DOCKERCMD) push
DOCKERIMASES=$(DOCKERCMD) images
DOCKERSAVE=$(DOCKERCMD) save
DOCKERTAG=$(DOCKERCMD) tag


# docker image 
DOCKERIMAGENAME=gitbook
VERSION=latest
REPOADDR=192.168.3.23/public

# build
CONTAINERNAME_BUILD= user_manual_build
BUILD_CMD=sh -c "gitbook build"
BUILDPATH=$(CURDIR)

# docker run
#CONTAINERNAME_BUILD= user_manual_build
CONTAINERNAME=user_manual
HOST_DOC_PATH=$(CURDIR)
CONTAINER_DOC_PATH=/root/gitbook
PRIVATE_PORT=4000
HOST_PORT=4000
RUN_CMD=sh -c "gitbook serve"


all: build_doc run_doc

build_doc:
  @echo "build user manual doc"
  $(DOCKERCMD) run --rm -v $(BUILDPATH):$(CONTAINER_DOC_PATH) --name $(CONTAINERNAME_BUILD) $(DOCKERIMAGENAME):$(VERSION) $(BUILD_CMD)
  @echo "Build doc done."

run_doc:
  @echo "docker run upms ..."
  $(DOCKERCMD) run -d -v $(HOST_DOC_PATH):$(CONTAINER_DOC_PATH) -p $(HOST_PORT):$(PRIVATE_PORT) --restart=always --name $(CONTAINERNAME) $(DOCKERIMAGENAME):$(VERSION) $(RUN_CMD)

stop:
  @echo "stop upms docker"
  - $(DOCKERSTOP) $(CONTAINERNAME)
  - $(DOCKERRM) $(CONTAINERNAME)

cleanimage:
  @echo "rmi upms images"
  - $(DOCKERRMIMAGE) $(DOCKERIMAGENAME):$(VERSION)
  - $(DOCKERRMIMAGE) $(REPOADDR)/$(DOCKERIMAGENAME):$(VERSION)


pushimage:
  @echo "push upms image to repo"
  $(DOCKERTAG) $(DOCKERIMAGENAME):$(VERSION) $(REPOADDR)/$(DOCKERIMAGENAME):$(VERSION)
  $(DOCKERPUSH) $(REPOADDR)/$(DOCKERIMAGENAME):$(VERSION)
  $(DOCKERRMIMAGE) $(REPOADDR)/$(DOCKERIMAGENAME):$(VERSION)

文檔編譯

通過gitbook容器將文檔源markdown文件,編譯為html文檔昔榴。
在文檔代碼跟目錄中執(zhí)行makefile命令:

make build_doc

或執(zhí)行命令

/usr/bin/docker run --rm -v /root/code/user-manual:/root/gitbook --name user_manual_build gitbook:latest sh -c "gitbook build"

文檔發(fā)布

文檔發(fā)布同樣使用gitbook鏡像運行

在文檔代碼根目錄中執(zhí)行makefiel命令:

make run_doc

或執(zhí)行命令

/usr/bin/docker run -d -v /root/code/user-manual:/root/gitbook -p 4000:4000 --restart=always --name user_manual gitbook:latest sh -c "gitbook serve"
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末辛藻,一起剝皮案震驚了整個濱河市碘橘,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌吱肌,老刑警劉巖痘拆,帶你破解...
    沈念sama閱讀 206,723評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異氮墨,居然都是意外死亡纺蛆,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,485評論 2 382
  • 文/潘曉璐 我一進店門规揪,熙熙樓的掌柜王于貴愁眉苦臉地迎上來桥氏,“玉大人,你說我怎么就攤上這事粒褒∈都眨” “怎么了?”我有些...
    開封第一講書人閱讀 152,998評論 0 344
  • 文/不壞的土叔 我叫張陵奕坟,是天一觀的道長祥款。 經(jīng)常有香客問我,道長月杉,這世上最難降的妖魔是什么刃跛? 我笑而不...
    開封第一講書人閱讀 55,323評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮苛萎,結(jié)果婚禮上桨昙,老公的妹妹穿的比我還像新娘。我一直安慰自己腌歉,他們只是感情好蛙酪,可當我...
    茶點故事閱讀 64,355評論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著翘盖,像睡著了一般桂塞。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上馍驯,一...
    開封第一講書人閱讀 49,079評論 1 285
  • 那天阁危,我揣著相機與錄音,去河邊找鬼汰瘫。 笑死狂打,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的混弥。 我是一名探鬼主播趴乡,決...
    沈念sama閱讀 38,389評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了浙宜?” 一聲冷哼從身側(cè)響起摄乒,我...
    開封第一講書人閱讀 37,019評論 0 259
  • 序言:老撾萬榮一對情侶失蹤那婉,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后混巧,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體萤捆,經(jīng)...
    沈念sama閱讀 43,519評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡裙品,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,971評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了俗或。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片市怎。...
    茶點故事閱讀 38,100評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖辛慰,靈堂內(nèi)的尸體忽然破棺而出区匠,到底是詐尸還是另有隱情,我是刑警寧澤帅腌,帶...
    沈念sama閱讀 33,738評論 4 324
  • 正文 年R本政府宣布驰弄,位于F島的核電站,受9級特大地震影響速客,放射性物質(zhì)發(fā)生泄漏戚篙。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,293評論 3 307
  • 文/蒙蒙 一溺职、第九天 我趴在偏房一處隱蔽的房頂上張望岔擂。 院中可真熱鬧,春花似錦浪耘、人聲如沸乱灵。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,289評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽痛倚。三九已至,卻和暖如春癞埠,著一層夾襖步出監(jiān)牢的瞬間状原,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,517評論 1 262
  • 我被黑心中介騙來泰國打工苗踪, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留颠区,地道東北人。 一個月前我還...
    沈念sama閱讀 45,547評論 2 354
  • 正文 我出身青樓通铲,卻偏偏與公主長得像毕莱,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,834評論 2 345

推薦閱讀更多精彩內(nèi)容