GitBook使用记录

1. 基本安装和使用

前提是已经安装了Node和Git环境,然后安装GitBook:

npm install -g gitbook-cli

然后在写作的时候(比如写一本叫做Jenkins入门),可以在指定的目录下,先创建一个Jenkins入门文件夹,然后初始化:

# 进入创建的空文件夹
cd Jenkins入门

# 初始化
gitbook init

然后回到Jenkins入门文件夹,看到gitbook已经自动帮我们生成了 README.mdSUMMARY.md 两个Markdown文件,前者 README.md 和git中一样,用于写些项目介绍(这里就是写些书本介绍信息),至于后者的 SUMMARY.md 文件是用于罗列书本目录的,后面gitbook会帮我们自动依据这个文件中的目录信息生成对应的文件和文件夹,比如写成下面这样:

# Summary 目录

* [介绍](README.md)

* [第一章](第一章/README.md)
    * [第一节:导览](第一章/第1节--启航.md)
    * [第二节:创建第一个管道](第一章/第2节--创建第一个管道.md)
* [第二章](第二章/README.md)
    * [第一节:总览](第二章/第1节--总览.md)

然后进入到Jenkins入门文件夹再用gitbook init初始化一下,gitBook会依据上述的目录结构帮我创建好文件夹和文件,结构如下:

gitbook创建的目录结构

然后可以在已有的目录结构和文件中进行创作,创作完后,可以使用gitbook serve命令进行在线发布预览,比如:

# 发布并指定端口号
gitbook serve --port=4000

然后访问4000端口,效果如下:

gitbook发布效果

这里的页面渲染主要是由 Node.js 提供的,除了这种在线发布外,还可以直接使用gitbook build [gitbook创建源书目录] [构建本地书籍的输出路径]命令来构建本地书籍,比如:

gitbook build . F:\我的第一本书

默认是生成HTML格式的书籍,当然也可以生成其他格式的书籍,比如生成pdf(还需要安装ebook-convert):gitbook pdf . F:\我的第一本PDF书,但建议不要搞得像我这里名字搞得这么奇葩不一致。

2. 版本控制

这里使用git作版本控制和我们普通工程下使用git控制一样,简单说一下,进入在源书本的根目录

# 初始化本地仓库
git init

此外,利用GitBook Editor工具可以直接进行即时可见的编辑(需要注册账户,我死活注册不了),

注:所有内容在githup上,具体参见GitBook

尝试结合Jenkins完成gitbook的发送到远程服务器自动化部署,未成功(一直提示无法识别gitbook命令),测试过的方案如下:

1.配置软件的环境(无效)

ln -s /usr/local/node-v10.14.2-linux-x64/bin/node /usr/local/bin/node
ln -s /usr/local/node-v10.14.2-linux-x64/bin/npm /usr/local/bin/npm
ln -s /usr/local/node-v10.14.2-linux-x64/bin/gitbook /usr/local/bin/gitbook

2.手动添加环境变量(无效)

vim /etc/profile
# 添加Node环境
export NODE_HOME=/usr/local/node-v10.14.2-linux-x64/bin
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$NODE_HOME/bin:$PATH

3.在Jenkins全局环境中添加环境(无效)

在Linux中查看$PATH变量:echo $PATH,然后将出现的字符串复制,粘贴到:系统管理–>系统设置–>Global properties–>环境变量–>Add–>Name为PATH,Value为刚刚复制的内容,无效。

4.手动调用环境变量(无效)

在配置任务的“执行Shell”时,在shell命令上方加上#!/bin/bash -il,无效,诸如:

#!/bin/bash -il
gitbook build /usr/local/test/Jenkins入门
gitbook serve /usr/local/test/Jenkins入门 --port=4000

后来尝试了一下,在Jenkins所在机器A上做了同样的配置,不上传到远程机器B,只在A上进行简单的执行脚本,可以部署,简单代码如下:

cp -r /root/.jenkins/workspace/localhost-gitbook/抽离的知识点/GitBook/Jenkins入门 /usr/local/test/
cd /usr/local/test/Jenkins入门
gitbook init
gitbook serve --port=4000

但通过SSH上传到B上就不行(B上也配置了A的环境),最终解决方案:后来发现执行的shell不放在在SSH Publishers中的Eexc command中即可,build中再加一个“执行shell”即可,然后直接写:

cd /usr/local//test/Jenkins入门/
gitbook init
# 将运行日志重定向到 Jenkins入门.out 文件中
nohup gitbook serve --port=4000 &> Jenkins入门.out

详细如下:

配置详情

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值