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 | yum install epel-release |
2.2 安装git
1 | yum install git |
3 安装GitLab
- 下载gitlab的rpm包
地址:https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/ - 执行安装
1 | yum install gitlab-ce-10.0.0-ce.0.el7.x86_64.rpm |
- 修改访问URL
1 | vim /etc/gitlab/gitlab.rb |
## 修改以下内容并保存
1 | external_url http://服务器IP地址 |
info
备注:这里可以写服务器IP地址,如果映射域名了,可以写域名,不用加端口号,端口号另外配置
- 载入配置
1 | gitlab-ctl reconfigure |
4 GitLab汉化(可选)
GitLab10版本支持配置中文,但是翻译率较低,通过其他方式增加汉化
info
备注:此方式暂时只适用于10版本
参考 Gitlab10.0.X社区版本,汉化
https://kinggoo.com/gitlab-chinesize.htm
- 下载汉化文件
汉化文件:下载 https://kinggoo.com/wp-content/upload/2017/10/10.0.x.zip - 停止gitlab
1 | gitlab-ctl stop |
- 启动gitlab
1 | gitlab-ctl start |
访问页面验证。
5 安装GitBook
npm install -g gitbook-cli -g
6 安装GitLab-Runner
- 下载GitLab Runner
通过 uname –m 命令查看 Linux 系统的位数,然后下载对应的安装包
1 | # x86-64 |
文件放置
文件已经放置于 /usr/local/bin/gitlab-runner,需要配置相应权限
chmod +x /usr/local/bin/gitlab-runner安装GitLab Runner
1 | **## 安装** |
7 打通GitLab与GitBook
- 创建wiki的工程,如下所示:
- 注册GitLab Runner
1 | **## 注册** |
- 配置完成后,可以在GitLab看到Runner已经注册上来了,如下所示:
- 项目配置CI
在项目中新增.gitlab-ci.yml文件,内容如下:
1 | stages: |
在项目中新增startup.sh文件,内容如下:
1 |
|
提交到GitLab后,通过Pipelines菜单查看任务执行情况:
8 验证
修改Wiki内容,然后推送到GitLab,可以看到GitLab上的任务被执行:
访问http://IP:4000,可以看到对应的Wiki被更新,证明WiKi搭建完成,并能实时更新
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.2 runner一直处于running
这是由于直接通过gitbook serve启动时,没有以后台方式启动。最后通过setsid解决
10 优化
10.1 优化GitBook展示页面
创建book.js,可配置页面超链接,书籍标题等信息,安装及禁用了部分插件
1 | { |
10.2 优化默认Introduction
修改SUMMARY.md文件,添加* [前言](README.md)
1 | * [前言](README.md) |