介绍
本文主要是在 gitlab 上集成 gitbook 实现提交时 gitbook 自动刷新部署 ,以及在 linux 环境上搭建 gitlab gitbook,集成 GitLab CI 实现一个企业级或个人的 Wiki 系统
环境准备
1.一台 linux 服务器
2.安装 node 以及 npm 环境 (这里注意 node 环境不要过高 不然在安装 gitbook 时会有报错 推荐:v12.16.3)
linux 安装 Node 教程
在 root 目录下创建 node 文件夹
mkdir node
cd node
下载 解压
wget https://nodejs.org/dist/v12.16.3/node-v12.16.3-linux-x64.tar.xz
tar xf node-v12.16.3-linux-x64.tar.xz
可以查看当前目录下的文件,执行:ls (命令)
解压成功后可以选择删除压缩包:
rm -rf node-v14.17.4-linux-x64.tar.xz
其中:-f 会提醒是否删除 ;-rf 会强制删除,不会提醒。(使用 rf,因为有些人不知道如何操作等待回车的对话线)
创建目录
mkdir /usr/local/lib/node
如果目录已经存在,则无需创建,也可以根据自己的喜好设置目录名称
移动目录并重命名
mv node-v12.16.3-linux-x64 /usr/local/lib/node/nodejs
设置环境变量(注意:这一步需要管理员权限或者对该文件的写入权限。)
执行:
sudo vim /etc/profile
输入 i 即可对文件进行编辑。
在文件底部添加环境变量:
export NODEJS_HOME=/usr/local/lib/node/nodejs
export PATH=$NODEJS_HOME/bin:$PATH
执行命令(下方清单命令为保存退出):
点击esc
输入冒号:
输入wq
点击回车
保存并退出。
刷新修改
source /etc/profile
安装完成,查看版本号
node版本号:
node -v
npm版本号:
npm -v
安装Git
通过下列命令,在机器上安装git:
## 通过下列命令安装git
yum install git
## 查看当前git版本
git --version
如果你linux环境没有yum 命令的话 看下面步骤安装 ,如果有yum命令则可忽略
下载yum安装包并解压
wget http://yum.baseurl.org/download/3.2/yum-3.2.28.tar.gz
tar xvf yum-3.2.28.tar.gz
进入yum-3.2.28文件夹中进行安装,执行安装指令
cd yum-3.2.28
sudo apt install yum
更新到新版本
yum check-update
yum update
yum clean all
安装GitLab
1.下载gitlab的rpm包
地址:https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-9.5.9-ce.0.el7.x86_64.rpm
2.把下载的包放到linux环境中
3.执行安装
## 安装rpm包
rpm -ivh gitlab-ce-9.5.9-ce.0.el7.x86_64.rpm
4.修改访问URL(这一步是修改你访问gitlab的地址 例:http://192.168.0.1:20001)
vim /etc/gitlab/gitlab.rb
## 修改以下内容并保存
external_url "http://192.168.0.1:20001"
5.重装配置
## 依次执行下面命令
gitlab-ctl reconfigure
gitlab-ctl restart
6.安装gitlab之后的一些错误问题解决
当我们执行完上面代码之后 在游览器输入 网站(例如::http://192.168.0.1:20001) 应该就能进入gitlab,
但是还有一种情况是 端口没开 所以导致访问不到 (例如我这个是20001 端口 但是我服务器没打开这个端口所以就访问不到)
解决方法如下:
开端口命令:firewall-cmd --zone=public --add-port=20001/tcp --permanent
安装GitBook
通过下列命令安装即可:
npm install gitbook-cli -g
安装GitLab Runner
下载GitLab Runner
通过 uname --m 命令查看 Linux 系统的位数,然后下载对应的安装包
# x86-64
sudo wget -O /usr/local/bin/gitlab-runner https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-amd64
# x86
sudo wget -O /usr/local/bin/gitlab-runner https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-386
# arm
sudo wget -O /usr/local/bin/gitlab-runner https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-arm
文件放置
文件已经放置于 /usr/local/bin/gitlab-runner,需要配置相应权限
chmod +x /usr/local/bin/gitlab-runner
安装GitLab Runner
## 安装
gitlab-runner install --user=root --working-directory=/software/gitlab-runner
## 启动
gitlab-runner start
打通GitLab与GitBook
在gitlab中创建一个项目
如下图所示:
注册GitLab Runner
## 注册
gitlab-runner register
然后依次输入以下参数:
## 1. GitLab的url,参考下图
## 2. Token,参考下图
## 3. 描述,随便写一个(例如:my-runner)
## 4. 填写Gitlab Runner的tag (注意这里的tag后面会用到 例如:my-tag,another-tag)
## 5. 选择Runner的执行器,意思是执行方式,这里用shell即可
配置完成后,可以在GitLab看到Runner已经注册上来了,如下所示:
本地gitbook项目配置CI
在项目中新增.gitlab-ci.yml文件,内容如下:
stages:
- build
xx-wiki:
#下面这里是项目的tag 根据上面注册GitLab Runner第4步设置的tags填写
tags:
- my-runner
stage: build
script:
- p=`pwd`
- echo $p
- gitbook install
- gitbook build
- setsid nohup sh startup.sh > nohup.out 2>&1 &
在项目中新增startup.sh文件,内容如下:
#!/bin/bash
for i in `ps -ef | grep gitbook | grep serve`; do kill -9 $i ; done;
gitbook serve
把本地的gitbook项目提交到GitLab后,通过Pipelines菜单查看任务执行情况:
校验
修改gitbook内容,然后推送到GitLab,可以看到GitLab上的任务被执行,如上图所示。注意若显示为padiing则可能项目配置有问题 或者tags不对
最后 访问 http://IP:4000,可以看到对应的项目被更新,证明WiKi搭建完成,并能实时更新