老板今天又来提需求啦d=====( ̄▽ ̄*)b
需要把公司的一些技术文档放到一个平台上,员工阅读,同时文档要有较好的维护性,成本尽可能低。
所以,就有今天博客的内容了!
想要解锁更多新姿势?请访问我的个人博客https://tengshe789.github.io/(😘
安装gitlab
1. 安装并配置必要的依赖关系
在CentOS 7(和RedHat / Oracle / Scientific Linux 7)上,以下命令还将在系统防火墙中打开HTTP和SSH访问。
1 | sudo yum install -y curl policycoreutils-python openssh-server |
接下来,安装Postfix以发送通知电子邮件。如果您想使用其他解决方案发送电子邮件,请在安装GitLab后跳过此步骤并[配置外部SMTP服务器](https://docs.gitlab.com/omnibus/settings/smtp.html)。
1 | sudo yum install postfix |
在Postfix安装期间,可能会出现配置屏幕。选择“Internet Site”并按Enter键。使用服务器的外部DNS作为“邮件名称”,然后按Enter键。如果出现其他屏幕,请继续按Enter键接受默认值。
2. 添加Gitlab包存储库并安装包
Add the GitLab package repository.
1 | curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.rpm.sh | sudo bash |
接下来,安装GitLab包。将http:// gitlab.example.com
更改为您要访问GitLab实例的URL。安装将自动配置并启动该URL的GitLab。 HTTPS在安装后需要其他配置。
1 | sudo EXTERNAL_URL="http://192.168.190.132:33333" yum install -y gitlab-ee |
3. 登陆并验证
在您第一次访问时,您将被重定向到密码重置屏幕。提供初始管理员帐户的密码,您将被重定向回登录屏幕。使用默认帐户的用户名root
登录。
See our documentation for detailed instructions on installing and configuration.
与gitbook集成
安装nodeJs
只能安装第三方仓库中存在的版本,一般落后 node 最新版本
- 安装EPEL 仓库
yum install epel-release
- 安装 nodejs
yum install nodejs
- 安装
npm yum install npm
安装gitbook
GitBook 是一个基于 Node.js 的命令行工具,可使用 Github/Git 和 Markdown 来制作精美的电子书。GitBook支持输出以下几种文档格式
- 静态站点:GitBook默认输出该种格式
- PDF:需要安装gitbook-pdf依赖
- eBook:需要安装ebook-convert
1 | npm install gitbook -g |
QA
- 出现
npm ERR! Error: connect ECONNREFUSED 104.16.24.35:443
问题
使用如下语句关闭代理解决问题:npm config set proxy null
安装GitLab Ci Runner
添加repository
curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-ci-multi-runner/script.rpm.sh | sudo bash
安装包
yum install gitlab-runner
执行上述命令之后,之后的流程如下:
第一处红线:输入部署完成的gitlab地址比如http://111.111.111.111:8080/
第二处红线: 登陆gitlab
,先点击右上方Admin Settings
,再找到左侧列表的中的overview
一栏找到runner
选项,找到并在shell中输入token.
剩下的过程随便写即可
最后看到Runner registered successfully表示注册成功。
最后可以登录gitlab进行验证,有如图所有列表说明注册成功
配置持续集成
https://docs.gitlab.com/ce/ci/quick_start/README.html#creating-a-gitlab-ciyml-file
在仓库下,创建.gitlab-ci.yml
,写入以下配置:
1 | stages: |
打开gitlab里面的pineline,查看log。
QA
- 出现This job is in pending state and is waiting to be picked by a runner错误
解决:没找到优雅的方式。粗暴点,可以在服务器端重启runner
,使用命令gitlab-ci-multi-runner restart
。
本地使用
- 将仓库clone下来,
gitbook init bookname
創建書名爲bookname的書 - 写书,必要时使用
gitbook serve
预览书。 - 创建
.gitlab-ci.yml
,写入配置。然后使用git命令上传到书库。
QA
- CI/CD的log界面出现无法删除图书错误
解决: CI/CD图形界面,右侧,点击cancel即可。
- 出现
RangeError: Maximum call stack size exceeded
错误
解决: 文章内容过长,导致js堆栈溢出。
参考
gitbook配置实例https://gitlab.com/pages/gitbook#building-locally
其实类似gitbook的软件还有很多,就譬如docsify,大家可以多查阅相关资料使用。
完
全片结束,觉得我写的不错?想要了解更多精彩新姿势?赶快打开我的👉个人博客 👈吧!
谢谢你那么可爱,还一直关注着我~❤😝