Gitbook安装教程

2017/09/06

gitbook的安装以及自动部署配置过程记录

nodeJS安装

gitbook安装

//安装gitbook
npm install -g gitbook-cli
//验证并安装
gitbook -V 
//安装目录折叠插件
$ npm install -g gitbook-plugin-toggle-chapters

生成gitbook

书写SUMMARY.md目录结构

* [简介](README.md)
* [第一章](chapter1/README.md)
    - [第一节](chapter1/section1.md)
    - [第二节](chapter1/section2.md)
* [第二章](chapter2/README.md)
    - [第一节](chapter2/section1.md)
    - [第二节](chapter2/section2.md)
* [结束](end/README.md)

新增book.json加入目录折叠插件

{
    "title" : "消息服务文档",
    "plugins": ["toggle-chapters"]
}

使用gitbook init根据目录结构生成相应的文件
使用gitbook build . _book(这里.默认创建后面的文件夹)生成对应的html文件

预览

使用git serve启动预览服务器
访问localhost:4000预览gitbook

创建git项目地址

创建git项目, 并上传markdown文件
这里采用一个git项目下存放多个gitbook目录, 后面Jenkins同时部署

Jenkins发布

  • 创建Jenkins项目, 并配置git地址, 分支等
  • 创建构件脚本

      cd /servyouapp/jenkins_jobs/gitbook/workspace
      for file in ./*
      do
          #遍历目录下所有非gitbook的目录
          #并生成html文件移动到gitbook目录中
          if [ -d $file -a $file != "./gitbook" ]
          then
      	        cd $file
              gitbook init
              #${file##*/}获取上级的目录名称
              gitbook build . ../gitbook/${file##*/}
              cd ..
          fi
      done
    
  • 打包上传文件

      cd /servyouapp/jenkins_jobs/gitbook/workspace
      rm -r gitbook.tar
      tar -cf gitbook.tar gitbook
    
  • 发送文件到目标服务器并解压(Jenkins默认的文件目前是workspace的子目录, 在该文件目录下查找文件并发送)

      cd /usr/local
      rm -rf  gitbook
      tar -xvf gitbook.tar
      rm -f gitbook.tar
    

nginx配置

server {
    server_name localhost;
    listen 8080;
    location / {
            root /usr/local/gitbook;
            #开启目录
            autoindex on;
            autoindex_exact_size on;
            autoindex_localtime on;
   }
}

配置上传代码自动部署

  • 生成随机token(用户匿名构建Jenkins项目)

      openssl rand -hex 12
      30910262eff664f2acbcb962
    
  • Jenkins安装Gitlab Hook Plugin和Build Authorization Token插件并重启

  • 配置项目远程构建, 添加前面生成的token Alt Text

  • 配置gitlab项目webhook, 加入构建地址http://${Jenkins地址}:${Jenkins端口}/buildByToken/build?job=${Jenkins项目名称}&token=${前面生成并添加到Jenkins远程构建的token} Alt Text

参考地址:
http://www.jianshu.com/p/4eac43872b40

Post Directory