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 進行過程管理
這些內容會在后面的實戰應用的文章中展示.