使用gitbook搭建简单粗暴的wiki系统 – 21运维
通知: .-...

使用gitbook搭建简单粗暴的wiki系统

linux 21运维 2009浏览 0评论

市面上wiki系统众多,用过收费的,也配置过复杂的。用哪种wiki,主要还是看需求吧。

这里使用一个简单粗暴的wiki系统,使用场景为公司运维内部专用wiki系统,仅仅一个展示页面。这里简单记录下,以便同行使用。

逻辑:
本地编辑md文档后,通过git push到gitlab,gitlab触发webhooks后,由jenkins自动拉取后rsync推送到线上web机器,远程调用sh脚本进行一次init build即可。

1, web部署gitbook

安装nodejs,这里到官网https://nodejs.org/en/download/直接下载nodejs二进制安装包解压并设置环境变量即可。

 mv node-v10.16.0-linux-x64  /bin/
mv /bin/node-v10.16.0-linux-x64  /bin/node
vim  /etc/profile
export  PATH=/usr/bin/node/bin:$PATH
source  /etc/profile

安装gitbook:

npm install gitbook-cli -g

2,jenkins部署脚本:

rsync -avz  $WORKSPACE/ 10.1.12.47:/data/wwwroot/wiki  --exclude=".git"  --exclude="metadata" --exclude="mainlib.db"
ssh  -Tq [email protected] < < EOF
/bin/bash /home/devops/build_gitbook.sh
EOF

3,gitbook 机器上的shell脚本 build_gitbook.sh:

#!/bin/bash
cd /data/wwwroot/wiki  && /usr/bin/node/bin/gitbook init

4,gitbook设置虚拟虚拟终端:

screen  -S gitbook
gitbook serve

这个操作以后,gitbook会监听4000端口,便于后边设置反向代理。

5,配置nginx
nginx配置如下:

nginx配置:
    upstream  gitbook {
        server 10.1.12.47:4000;
    }

独立conf配置:
server {
        listen       80;
        server_name  wiki.21yunwei.com;
        access_log /logs/nginx/wiki/wiki_access.log main;
        error_log  /logs/nginx/wiki/wiki_error.log;
        root /data/wwwroot/wiki/;
        location / {
                proxy_pass http://gitbook;
            }
        location = /nginx-status  {
            stub_status   on;
            access_log   off;

问题解决。

本地编辑md文件后直接push到gitlab,触发webhook后由jenkins执行后变的推送以及远程执行sh进行init,这样web就可以直接访问静态页面了。

 

转载请注明:21运维 » 使用gitbook搭建简单粗暴的wiki系统

发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址