基于CentOS7的GitLab搭建与配置

前言

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

说明

  • 本文会随着本人的深入学习持续更新。
  • 如果有想法,及时提出,欢迎指正和交流。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,204评论 6 506
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,091评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,548评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,657评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,689评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,554评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,302评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,216评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,661评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,851评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,977评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,697评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,306评论 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,898评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,019评论 1 270
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,138评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,927评论 2 355

推荐阅读更多精彩内容

  • 由于公司业务,需要上Git版本控制。 目前市面上比较有名的Git服务提供商,国外有GitHub、BitBucket...
    hjqjk阅读 23,719评论 1 20
  • 一、系统环境 服务器:阿里云主机 操作系统:Centos7.0 64位 已装软件:Nginx(80端口)、Apac...
    tsyeyuanfeng阅读 77,811评论 18 92
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,657评论 18 139
  • 我看着她 她假装两眼放空 我往空气里吐一口气 这初秋的天气怎么凉到骨子里 她在我对面 和前任现女友一起 有说有笑 ...
    与无阅读 205评论 1 1
  • 能让我一次又一次去 一次又一次写的地方,估计只有青岛了吧。 没错,我又来了,我回来了。 【虽然条件很艰苦,但日子也...
    蒜味儿大白貂阅读 218评论 0 0