转载请注明原始链接:http://blog.csdn.net/a464057216/article/details/52865758
后续此博客不再更新,欢迎大家搜索关注微信公众号“测开之美”,测试开发工程师技术修炼小站,持续学习持续进步。
Requirements
- Ruby >= 2.3
- CPU dual cores(可以支持500用户)
- 可用内存 >= 4G(可以支持100用户)
- Swap >= 2G
- unicorn workers = CPU cores + 1
安装步骤
- 安装Gitlab-ce:
# written by: CSDN - Mars Loo的博客
sudo apt-get update
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
sudo apt-get install gitlab-ce
- 配置Gitlab服务器
Gitlab的配置文件位置在/etc/gitlab/gitlab.rb
,基本配置项如下:
external_url
:Gitlab服务器前缀,可以帮助用户获得正确的git clone的地址。git_data_dirs
:Gitlab托管仓库的存储路径,推荐这个路径挂载到独立的硬盘分区上,方便管理,比如({"default" => "/search/gitlab/git-data"})
表示默认位置是/search/gitlab/git-data/repositories
目录,如下配置表示还有一个可选目录:
# written by: CSDN - Mars Loo的博客
git_data_dirs({
"default" => "/search/gitlab/git-data",
"alternative" => "/mnt/nas/git-data"
})
manage_accounts
:如果采用LDAP进行用户管理,将该配置置为false
(默认为true
,表示Gitlab自己管理用户)。- 邮件设置(采用google的smtp服务):
# written by: CSDN - Mars Loo的博客
gitlab_rails['gitlab_email_from'] = 'xxx@gmail.com'
gitlab_rails['gitlab_email_display_name'] = 'MyGitlab'
gitlab_rails['gitlab_email_reply_to'] = 'xxx@gmail.com'
gitlab_rails['smtp_address'] = "smtp.gmail.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "xxx@gmail.com"
gitlab_rails['smtp_password'] = "password"
gitlab_rails['smtp_domain'] = "smtp.gmail.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = false
gitlab_rails['smtp_tls'] = false
gitlab_rails['smtp_openssl_verify_mode'] = 'peer'
gmail向126邮箱、qq邮箱发送邮件时会被拒,我的办公邮箱采用的同样是gmail邮箱服务所以不会被拒。如果您的办公邮箱是国内厂商的服务,可以采用qq企业邮箱等smtp服务。
- 首次登陆
配置完成后,使用sudo gitlab-ctl reconfigure
命令即可更新配置并重启Gitlab,然后访问服务器的80端口即可访问(如下是第一次登陆设置管理员root用户的密码的界面):
删除Gitlab
执行命令sudo gitlab-ctl uninstall
,Gitlab会将配置文件备份到/root/gitlab-cleanse-YYYY-MM-DDTHH:mm
中,然后执行sudo dpkg -P gitlab-ce
命令,最后手工删除如下目录:
/opt/gitlab
/var/log/gitlab
/etc/gitlab
Gitlab与其他工具
Gitlab可以与JIRA、Slack等工具集成,可以极大提高工作效率。
如果对直接使用Gitlab做持续集成感兴趣,也可以研究一下Gitlab CI,但是这个功能从8.0版本才正式加入。持续集成有一个更强大好用的工具Jenkins,有丰富的插件集合,流行度更广,对于不使用Gitlab做代码托管的团队Gitlab CI就没有用武之地了,需要使用者自行取舍。
如果读者对使用Jenkins做持续集成感兴趣,可以参考我的博客:Python项目在Jenkins中的自动化测试实践。
最后,Gitlab比较好的一点是社区版和商业版在持续集成功能上没有差异。
如果觉得我的文章对您有帮助,欢迎关注我(CSDN:Mars Loo的博客)或者为这篇文章点赞,谢谢!