Jenkins实现Gitbook自动部署

2017-10-24  本文已影响0人  zpfang

nodeJS安装

gitbook安装

//安装gitbook
npm install -g gitbook-cli
//验证并安装
gitbook -V 

生成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 install安装插件
使用gitbook init根据目录结构生成相应的文件
使用gitbook build . _book(这里.默认创建后面的文件夹)生成对应的html文件

预览

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

创建git项目地址

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

Jenkins发布

  root_dir=/var/lib/jenkins/workspace/gitbook
  cd $root_dir

  function getdir(){
      for element in `ls $1`
    do  
        dir_or_file=$1"/"$element
        c_dir=$root_dir"/"$dir_or_file
        if [ -d "$c_dir" ]
        then 
            cd $dir_or_file/
            echo $dir_or_file
            if [ -f "book.json" ]
            then 
                        ## 安装插件, 如果book.json中未加入该插件则不用执行
                npm install
                gitbook build . $root_dir/package/$dir_or_file
                cd  $root_dir
            else    
                cd  $root_dir
                getdir $dir_or_file
            fi
        fi  
    done
}

source /etc/profile
getdir .

nginx配置

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

配置上传代码自动部署

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

上一篇下一篇

猜你喜欢

热点阅读