gitlab_gitbook搭建WIKI

1 环境

OS: centos7.9
gitlab: gitlab-ce-10.0.0-ce
GitBook CLI version: 2.3.2
GitBook version: 3.2.3
Gitlab-runner 13.12.0

2 环境准备

2.1 安装nodejs

1
2
yum install epel-release
yum install nodejs

2.2 安装git

1
yum install git

3 安装GitLab

  1. 下载gitlab的rpm包
    地址:https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/
  2. 执行安装
1
yum install gitlab-ce-10.0.0-ce.0.el7.x86_64.rpm
  1. 修改访问URL
1
vim /etc/gitlab/gitlab.rb

## 修改以下内容并保存

1
external_url http://服务器IP地址

info
备注:这里可以写服务器IP地址,如果映射域名了,可以写域名,不用加端口号,端口号另外配置

  1. 载入配置
1
2
gitlab-ctl reconfigure
gitlab-ctl restart

4 GitLab汉化(可选)

GitLab10版本支持配置中文,但是翻译率较低,通过其他方式增加汉化

info
备注:此方式暂时只适用于10版本


参考 Gitlab10.0.X社区版本,汉化
https://kinggoo.com/gitlab-chinesize.htm

  1. 下载汉化文件
    汉化文件:下载 https://kinggoo.com/wp-content/upload/2017/10/10.0.x.zip
  2. 停止gitlab
1
2
gitlab-ctl stop
patch -d /opt/gitlab/embedded/service/gitlab-rails -p1 < 10.0.diff
  1. 启动gitlab
1
gitlab-ctl start

访问页面验证。
5 安装GitBook
npm install -g gitbook-cli -g

6 安装GitLab-Runner

  1. 下载GitLab Runner
    通过 uname –m 命令查看 Linux 系统的位数,然后下载对应的安装包
1
2
3
4
5
6
# 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
  1. 文件放置
    文件已经放置于 /usr/local/bin/gitlab-runner,需要配置相应权限
    chmod +x /usr/local/bin/gitlab-runner

  2. 安装GitLab Runner

1
2
3
4
5
6
**## 安装**
gitlab-runner install --user=root --working-directory=/software/gitlab-runner
备注:/software/gitlab-runner 是安装路径,可以自定义,目录需要提前创建,否则启动报错。

**## 启动**
gitlab-runner start

7 打通GitLab与GitBook

  1. 创建wiki的工程,如下所示:
    1
  2. 注册GitLab Runner
1
2
3
4
5
6
7
8
**## 注册**
gitlab-runner register
然后依次输入以下参数:
## 1. GitLab的url,参考下图
## 2. Token,参考下图
## 3. 描述,随便写一个
## 4. Runner描述,随便写一个
## 5. shell,意思是执行方式,这里用shell即可

2

  1. 配置完成后,可以在GitLab看到Runner已经注册上来了,如下所示:
    3
  2. 项目配置CI
    在项目中新增.gitlab-ci.yml文件,内容如下:
1
2
3
4
5
6
7
8
9
10
stages:
- build
xx-wiki:
stage: build
script:
- p=`pwd`
- echo $p
- gitbook install
- gitbook build
- setsid nohup sh startup.sh > nohup.out 2>&1 &

在项目中新增startup.sh文件,内容如下:

1
2
3
#!/bin/bash
for i in `ps -ef | grep gitbook | grep serve`; do kill -9 $i ; done;
gitbook serve

提交到GitLab后,通过Pipelines菜单查看任务执行情况:
4
5

8 验证

修改Wiki内容,然后推送到GitLab,可以看到GitLab上的任务被执行:
6
访问http://IP:4000,可以看到对应的Wiki被更新,证明WiKi搭建完成,并能实时更新
7

9 问题

9.1 runner一直处于Pending状态

这是由于在注册gitlab runner完成后,有一个配置项需要修改,否则不会执行,详见以下链接:
https://www.daxiblog.com/gitlab-pages无法运行,一直处于pending状态的原因/
https://www.daxiblog.com/gitlab-pages%E6%97%A0%E6%B3%95%E8%BF%90%E8%A1%8C%EF%BC%8C%E4%B8%80%E7%9B%B4%E5%A4%84%E4%BA%8Epending%E7%8A%B6%E6%80%81%E7%9A%84%E5%8E%9F%E5%9B%A0/
在gitlab中启动pages服务并配置好gitlab runner之后,push代码后,虽然触发了自动CI,但是一直处于Pending状态,

danger
错误信息是:This job is stuck, because you don’t have any active runners that can run this job

这是由于在注册gitlab runner完成后,有一个配置项需要修改,就是是否在没有标记tag的job上运行,如果选择默认值false,那没有标记tag的代码提交是不会触发gitlab runner的,如果做测试,最好填true。
这个配置可以在runner的编辑页面进行修改:

打开settings→CI/CD→Runners settings,然后会看到已经启用的runner,点击编辑按钮,勾选以下选项即可:
9

9.2 runner一直处于running

这是由于直接通过gitbook serve启动时,没有以后台方式启动。最后通过setsid解决

10 优化

10.1 优化GitBook展示页面

创建book.js,可配置页面超链接,书籍标题等信息,安装及禁用了部分插件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
{
"title": "test标题",
"author": "XXX作者",
"authorHomepage": "http://zhjxdns.imwork.net:332/",
"description": "site description",
"language": "zh-hans",
"copyright": "All Rights Reserved",
"variables": {},
"plugins": [
"theme-code",
"splitter",
"prism",
"-font-settings",
"folding-chapters",
"-sharing",
"search-pro",
"-smart-nav-collapse",
"include-codeblock",
"-livereload",
"toggle-chapters"
],
"pluginsConfig": {
"theme-default": {
"showLevel": true
}
}
}

10.2 优化默认Introduction

11
修改SUMMARY.md文件,添加* [前言](README.md)

1
2
3
4
5
6
* [前言](README.md)
# 目录
* [第一章](1.md)
* [1.1](1.1.md)
* [第二章](2.md)
* [第三章](3.md)

12

-------------本文结束感谢您的阅读-------------

本文标题:gitlab_gitbook搭建WIKI

文章作者:OperationMAN

发布时间:2021年06月18日 - 16:06

最后更新:2022年06月05日 - 21:06

原始链接:https://kxinter.gitee.io/2021/06/18/gitlab-gitbook搭建WIKI/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

坚持原创技术分享,您的支持将鼓励我继续创作!