美文网首页知识管理
千峰逆战技术分享第十二天使用gitbook搭建简单粗暴的wiki

千峰逆战技术分享第十二天使用gitbook搭建简单粗暴的wiki

作者: 轻奢_ffdd | 来源:发表于2020-03-07 00:38 被阅读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 root@10.1.12.47 < < 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就可以直接访问静态页面了。

    转载http://www.21yunwei.com/archives/5110

    相关文章

      网友评论

        本文标题:千峰逆战技术分享第十二天使用gitbook搭建简单粗暴的wiki

        本文链接:https://www.haomeiwen.com/subject/lhktdhtx.html