美文网首页
基于CentOS7的GitLab搭建与配置

基于CentOS7的GitLab搭建与配置

作者: 断忆残缘 | 来源:发表于2017-06-22 20:57 被阅读3528次

前言

最近闲来无事,公司的web端总是出现胡乱push的现象:

比如:乱pushmaster上,然后又需要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邮箱配置

官方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吧,本人认为学好英语对于一个程序员来讲真的很重要,就不说三遍了。

说明

  • 本文会随着本人的深入学习持续更新。
  • 如果有想法,及时提出,欢迎指正和交流。

相关文章

网友评论

      本文标题:基于CentOS7的GitLab搭建与配置

      本文链接:https://www.haomeiwen.com/subject/jrvfcxtx.html