Gitlab 最初设计为 self-host 版本的 Github, 现在逐步完善, 已经发成集代码托管, 持续集成, 代码审核, 过程管理为一体的协作平台. 大家可以根据团队实际情况引入其中的功能到自己团队的工作流程中.
安装
推荐使用使用 omnibus 的方式进行安装, 打包了所有的依赖, 升级和维护都非常方便. 三年前我在团队中第一次部署 Gitlab 的时候, 还只有源码部署的方式, 要手动维护一堆依赖, 可能还需要直接去改一些代码进行配置或者修复问题. 升级时候还很容易出现问题. 要手动解决数据库错误什么的. 现在使用 Omnibus 包的安装方式一切都是"一键式"的体验了.
官方安装流程: https://about.gitlab.com/downloads/
- 访问上面的页面, 选取操作系统, 这里以 16.04 为例
- 安装依赖:
sudo apt-get install curl openssh-server ca-certificates postfix
- 使用自动安装脚本安装 Gitlab 社区版
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
sudo apt-get install gitlab-ce
* 自动配置并启动 Gitlab
sudo gitlab-ctl reconfigure
* 打开地址并登陆
第一次访问的时候, 你会被重定向到密码重设界面以提供初始管理员账户的密码. 输入你的密码就会回到登陆界面, 默认账户的用户名是 **root**. 输入你刚刚创建的密码并登陆. 登陆后你可以更改用户名.
## 配置 LDAP 登陆
如前一篇所说, 我们所有的账户同意使用 LDAP 鉴权, 在开放给团队使用前, 必须配置好 LDAP 登陆.
仔细阅读官方配置文档: https://docs.gitlab.com/ee/administration/auth/ldap.html
编辑 `/etc/gitlab/gitlab.rb` 文件, 搜索 ldap 找到以下这样的行, 取消注释, 并且按照自己的参数改好.
gitlab_rails['ldap_enabled'] = true
gitlab_rails['ldap_servers'] = YAML.load <<-'EOS' # remember to close this block with 'EOS' below
main: # 'main' is the GitLab 'provider ID' of this LDAP server
label: 'LDAP'
host: 'ldap.example.com'
port: 389
uid: 'uid'
method: 'plain' # "tls" or "ssl" or "plain"
active_directory: false
allow_username_or_email_login: false
block_auto_created_users: false
base: 'ou=users,dc=example,dc=com'
user_filter: ''
保存, 执行 `sudo gitlab-ctl reconfigure` 重新配置 gitlab 即可生效.
Gitlab 已经发展的非常成熟, 安装配置都很方便了, 没有太多难题, 你看这篇随笔都没什么好写的了.
## 更多配置
* 工程的一些高级配置
* gitlab-ci 持续集成
* 用 gitlab issue 进行过程管理
这些内容会在后面的实战应用的文章中展示.