前言
最近闲来无事,公司的web端总是出现胡乱push
的现象:
比如:乱push
到master
上,然后又需要git reset --hard
,导致了其他人的本地分支比远端超前,然后又各种git branch -D
,总体来讲不太安全吧。
试想:如果可以分支保护
那就简单多了,被保护的分支
只有有权限的人可以push
,那问题不就解决了么?
GitLab
记得上一家公司的服务器搭建的还挺好用的,自我感觉优势如下:
- 支持类似于github那样强大而又简单的UI交互型操作
- 支持安装包部署在自己服务器上,安全、开源,并且免费
- 支持邮件服务
- 支持分支保护等等
以上仅仅是本人总结
说了这么多,那我们赶紧开始吧,不过这只是我的初步学习,后期会持续更新。
正文
1. SSH连接CentOS服务器
/**
root 【用户名】
192.168.1.1 【IP地址】
*/
ssh root@192.168.1.1
- 如果之前配置过ssh密钥,直接连接,没有配置的话,输入对应用户的(示例中为root)的密码
- 说明:本人目前是iOS开发者,对连接服务器一窍不通,所以讲的略微详细,还望勿怪。
2. Update yum
yum update
- yum:开源包管理工具,类似于brew,ruby
3. 安装并配置必要的依赖
sudo yum install curl policycoreutils openssh-server openssh-clients
sudo systemctl enable sshd
sudo systemctl start sshd
sudo yum install postfix
sudo systemctl enable postfix
sudo systemctl start postfix
sudo firewall-cmd --permanent --add-service=http
sudo systemctl reload firewalld
- 解释说明,一共配置三个依赖:
- 安装配置ssh
- 安装配置postfix,用于邮件通知
- 配置防火墙
4. 添加GitLab包服务器并安装包
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
sudo yum install gitlab-ce
- 下载包时间比较长,印象大小是300M+
5. GitLab 基本配置
GitLab 的相关参数配置都存在 /etc/gitlab/gitlab.rb
文件里,每次配置完成之后需要执行gitlab-ctl reconfigure
,进行重新配置才能生效。
- 进入编辑
gitlab.rb
文件
vi /etc/gitlab/gitlab.rb
- 执行修改的配置
sudo gitlab-ctl reconfigure
- 注意事项:
- 如果中间出现“红色”error,那可能执行失败。
- 默认配置前面有“#”,是被注释的,需要删除最前面的“#”
5.1 配置URL
打开 /etc/gitlab/gitlab.rb 配置文件,修改 external_url 'http://ip_address'
为 external_url 'http://ip_address:new-port'
external_url 'http://ip_address:new-port'
- 注意事项
- 如果有域名,填入域名也行,没有域名,填入IP地址即可
- 若要生效,需要退出
vi
编辑,执行sudo gitlab-ctl reconfigure
命令,下面配置一样,接下来不再重复
5.2 SMTP邮箱配置
以下是 163 邮箱的配置参考(其他邮箱可以参照上面的官方示例)
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.163.com"
gitlab_rails['smtp_port'] = 25
gitlab_rails['smtp_user_name'] = "test@163.com" //需要自行修改
gitlab_rails['smtp_password'] = "password" //需要自行修改
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['gitlab_email_from'] = "test@163.com" // 必须与上面的邮箱一样
- 注意事项
- 邮箱需要开启 SMTP 协议
5.3 头像配置
GitLab 默认使用的是 Gravatar 头像服务,不过现在貌似 Gravatar 国内好像访问不了,导致 GitLab 默认头像破裂,无法显示,可以替换为多说 Gravatar 服务器。打开 /etc/gitlab/gitlab.rb 配置文件,修改gitlab_rails['gravatar_plain_url']
gitlab_rails['gravatar_plain_url'] = 'http://gravatar.duoshuo.com/avatar/%{hash}?s=%{size}&d=identicon'
再分别执行以下命令即可
gitlab-ctl reconfigure
gitlab-rake cache:clear RAILS_ENV=production
6. Web初始化设置
在自己的电脑上,打开浏览器。输入刚才配置URL,刚进去设置root的用户名和密码。
登陆root后,增加group,project,member。
到此为止,完成部署,可以尽情的享受gitlab带来的畅快体验。
- 说明:本教程中不包含为
GitLab
增加汉化包,想要汉化的朋友自己Google吧,本人认为学好英语对于一个程序员来讲真的很重要,就不说三遍了。
说明
- 本文会随着本人的深入学习持续更新。
- 如果有想法,及时提出,欢迎指正和交流。
网友评论