Gitlab CE + Gitbook 本地环境搭建

GitLab 是一个利用Ruby on Rails开发的开源应用程序,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。
它拥有与GitHub类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。

GitBook 是一个基于 Node.js 的命令行工具,可使用 Github/Git 和 Markdown 来制作精美的电子书

安装Gitlab

https://about.gitlab.com/downloads/#centos6

安装所需的软件包:

yum install curl openssh-server openssh-clients postfix cronie
service postfix start
chkconfig postfix on
lokkit -s http -s ssh

下载一键部署脚本:

curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
yum install gitlab-ce

如果yum安装比较慢。可以单独下载rpm包安装

curl -LJO https://packages.gitlab.com/gitlab/gitlab-ce/packages/el/6/gitlab-ce-XXX.rpm/download
rpm -i gitlab-ce-XXX.rpm

当前使用版本:gitlab-ce-8.16.4-ce.0.el6.x86_64.rpm

配置Gitlab

Gitlab默认安装路径:/opt/gitlab
默认配置文件路径:/etc/gitlab/gitlab.rb

修改默认配置文件:

# 监听域名与端口,注意一个安全问题,这里我们虽然配置了域名,但是默认还是可以通过IP访问
# 调整方法是,修改gitlab的Nginx配置文件,在默认server上做下限制
# 比如路径可能在:/var/opt/gitlab/nginx/conf/gitlab-http.conf
external_url 'http://localhost:8888'

# SSH 端口
gitlab_rails['gitlab_shell_ssh_port'] = 2222

# 配置备份、仓库路径
gitlab_rails['backup_path'] = "/data/gitlab/backups"
git_data_dirs({"default" => "/data/gitlab/git-data"})
gitlab_rails['shared_path'] = '/data/gitlab/gitlab-rails/shared'

# 配置SMTP邮箱功能
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.exmail.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "example@qq.com"
gitlab_rails['smtp_password'] = "密码"
gitlab_rails['smtp_domain'] = "smtp.qq.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true

gitlab_rails['gitlab_email_enabled'] = true
gitlab_rails['gitlab_email_from'] = 'example@qq.com'

# 时区
gitlab_rails['time_zone'] = 'Asia/Shanghai'

执行 gitlab-ctl reconfigure

启动 Gitlab

使用 gitlab-ctl 指令

gitlab-ctl start

安装 gitbook-cli

https://toolchain.gitbook.com/setup.html

首先你要安装 Nodejs 与 npm,然后全局安装 gitbook

npm install gitbook-cli -g

有几个常用指令:

gitbook init 初始化目录
gitbook build 输出html
gitbook serve 本地预览
gitbook install 用于插件安装

配置 gitbook

主要配置参见上面的地址,gitbook默认自带了5个插件:

  • highlight
  • search
  • sharing
  • font-settings
  • livereload

常用插件:

  • toggle-chapters 折叠左侧目录
  • page-toc-button 显示内容大纲
  • splitter 左右栏可以拖动
  • -sharing 取消分享按钮

npm install gitbook-plugin-toggle-chapters

"plugins": ["toggle-chapters","page-toc-button", "splitter", "-sharing"]