一、简介
- GitLab是一个开源的版本管理系统,提供了类似于GitHub的源代码浏览,管理缺陷和注释等功能,你可以将代码免费托管到GitLab.com,而且不限项目数量和成员数;
- 最吸引人的一点是允许在自己的服务器上搭建GitLab CE(社区免费版)版本,方便内部团队协作开发和代码管理;
- 本文将介绍如何在Linux服务器上使用包管理器搭建GitLab CE版本,以及一些基本的配置;
二、资源
GitLab官网: https://about.gitlab.com/installation/
Gmail: https://about.gitlab.com/installation/
三、CentOS系统
1、更新软件源
- 配置国内的软件源,请详见 https://www.xiaocoder.com/2017/02/21/resource-1/ ;
- 需要配置CentOS Base源与epel源;
2、添加GitLab源
$ vim /etc/yum.repos.d/gitlab-ce.repo
[gitlab-ce]
name=Gitlab CE Repository
baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever/
gpgcheck=0
enabled=1
$ yum makecache fast && yum update -y
3、安装邮件服务
$ yum install -y postfix
$ systemctl enable postfix
$ systemctl start postfix
4、安装GitLab
- GitLab自带了Web服务器(Nginx),若需要使用服务器已有的Nginx,需要额外的配置;
$ yum install -y gitlab-ce
四、Docker
1、更新软件源
- 配置国内的软件源,请详见《CentOS/Ubuntu的国内软件源》;
2、安装Docker服务
- 在服务器上安装Docker CE,安装指南请参考《在Linux上安装Docker》;
3、GitLab镜像
- 官网资源: https://docs.gitlab.com/ce/install/docker.html
五、配置GitLab
1、配置服务端口
external_url 'http://ip_address:new-port'
2、邮件服务
Gmail
- 请自行更改smtp_user_name与smtp_password;
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.gmail.com"
gitlab_rails['smtp_port'] = 587
gitlab_rails['smtp_user_name'] = "smtp user"
gitlab_rails['smtp_password'] = "smtp password"
gitlab_rails['smtp_domain'] = "smtp.gmail.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = false
gitlab_rails['smtp_openssl_verify_mode'] = 'peer'
QQ exmail(腾讯企业邮箱)
- 请自行更改smtp_user_name、smtp_password与gitlab_email_from;
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.exmail.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "smtp user"
gitlab_rails['smtp_password'] = "smtp password"
gitlab_rails['smtp_domain'] = "smtp.exmail.qq.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
gitlab_rails['gitlab_email_from'] = 'smtp user'
Outlook
- 请自行更改smtp_user_name、smtp_password与gitlab_email_from;
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp-mail.outlook.com"
gitlab_rails['smtp_port'] = 587
gitlab_rails['smtp_user_name'] = "smtp user"
gitlab_rails['smtp_password'] = "smtp password"
gitlab_rails['smtp_domain'] = "smtp-mail.outlook.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_openssl_verify_mode'] = 'peer'
gitlab_rails['gitlab_email_from'] = 'smtp user'
其他邮件服务
- 其他邮件服务的设置,请参照官网: https://docs.gitlab.com/omnibus/settings/smtp.html ,此处就不再赘述了;
测试操作
$ gitlab-rails console
irb(main):001:0> Notify.test_email('[email protected]', 'Hello', 'Hello, World').deliver_now
3、重新生成配置
- 每一次修改配置文件,都要执行此操作;
$ gitlab-ctl reconfigure
六、界面使用
1、设置密码
- 首次访问,http://172.18.20.100,页面会提示设置管理员的密码;
- 管理员:root,密码:<自定义>;
2、关闭头像
- 点击Admin area(小扳手),然后点击Settings,取消勾选Gravatar enabled;
3、禁用注册
- 点击Admin area(小扳手),然后点击Settings,取消勾选Sign-up enabled;
4、自定义页面布局
- 点击个人的Settings,然后点击Preferrences,就可以自定义页面布局了;
- 建议配置:
- Syntax highlighting theme:Solarized Dark;
- New Navigation:New;
- Layout width:Fluid;
七、命令使用
1、启动服务
$ gitlab-ctl start
2、停止服务
$ gitlab-ctl stop
3、获取运行状态
$ gitlab-ctl status
4、获取帮助信息
$ gitlab-ctl --help