下载安装包

   从清华大学开源软件镜像站下载Gitlab安装包,下载地址:https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el6/

   这里我们下载当前最新版本 gitlab-ce-10.7.3-ce.0.el7.x86_64.rpm

 

   安装依赖服务

   安装 curl、policycoreutils-python、openssh,防火墙开启外部对sshd及http服务的访问权限



yum install -y curl policycoreutils-python openssh-server
systemctl enable sshd
systemctl start sshd
firewall-cmd --permanent --add-service=http
systemctl reload firewalld



  安装邮件服务器 postfix



yum install postfix
systemctl enable postfix -》  systemctl enable postfix.service
systemctl start postfix



 

   开始安装Gitlab

   执行下面的命令开始进行安装,安装过程会持续一段时间,请耐心等待,安装完成。



rpm -ivh gitlab-ce-10.7.3-ce.0.el7.x86_64.rpm



  安装成功会显示如下界面,rpm默认将Gitlab安装在了/var/opt/gitlab路径下

gitlab如何建立子仓库 gitlab建立代码仓库_git

 

  查看Gitlab安装完成后的文件夹目录



[root@localhost ~]# cd /var/opt/gitlab
[root@localhost gitlab]# ls -l



gitlab如何建立子仓库 gitlab建立代码仓库_gitlab如何建立子仓库_02

 

    修改Gitlab 服务地址及邮箱配置

   修改Gitlab服务的访问地址,修改成我们自己想使用的地址,这里我将external_url 地址修改为 http://mygitlab.com



[root@localhost adminstrator]# vi /etc/gitlab/gitlab.rb 
[root@localhost adminstrator]#


  

gitlab如何建立子仓库 gitlab建立代码仓库_git_03

   接下来修改,Gitlab的邮箱配置



[root@localhost ~]# vi /etc/gitlab/gitlab.rb



gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.163.com"
gitlab_rails['smtp_port'] = 25
gitlab_rails['smtp_user_name'] = "xiaoming@163.com"
gitlab_rails['smtp_password'] = "12345678git"
gitlab_rails['smtp_domain'] = "163.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = false

gitlab_rails['gitlab_email_from'] = "xiaoming@163.com"
user["git_user_email"] = "xiaoming@163.com"



gitlab如何建立子仓库 gitlab建立代码仓库_操作系统_04

 

  以上配置修改完,执行如下命令,这个命令执行比较慢,请耐心等待。



[root@localhost gitlab]# gitlab-ctl reconfigure



 

   修改Gitlab 使用的默认端口

   由于Gitlab使用的80端口和8080端口都是常用的端口,这些端口可能需要给其他的应用使用,所以我们把Gitlab使用的80端口和8080端口修改掉。

  我们将8080端口修改为8800,8080端口修改为8801。

  修改之前,我们先在防火墙中开放8800端口的对外访问权限,并重启防火墙,使得修改生效。



firewall-cmd --zone=public --add-port=8800/tcp --permanent
firewall-cmd --reload



  修改gitlab自带的nginx的配置文件



[root@localhost gitlab]# vi /var/opt/gitlab/nginx/conf/gitlab-http.conf



gitlab如何建立子仓库 gitlab建立代码仓库_操作系统_05

 

   Unicorn 是为 Rack 应用程序设计的 HTTP server,Gitlab自带的unicorn使用的默认端口是8080,我们现在开始将8080修改为8801。这里我们要修改两个文件分别是 unicorn.rb 和 gitlab-shell/config.yml 。



[root@localhost gitlab]# vi /var/opt/gitlab/gitlab-rails/etc/unicorn.rb



gitlab如何建立子仓库 gitlab建立代码仓库_80端口_06

 



[root@localhost gitlab]# vi /var/opt/gitlab/gitlab-shell/config.yml



gitlab如何建立子仓库 gitlab建立代码仓库_git_07

  以上默认端口的配置就修改完了,但是我们需要重启生效。重启执行后,要等一段时间,Gitlab才能访问,Gitlab启动比较慢。



[root@localhost gitlab]# gitlab-ctl restart



注意:默认端口修改掉后,不能执行 gitlab-ctl reconfigure命令,执行这个命令,会将你修改的端口重置为80 及 8080。

    首次访问自建的Gitlab服务

  这里我的Gitlab是在一台Centos 7的虚拟机(IP为192.168.10.130)上安装的,我们使用windows 7 访问 CentOS 7里部署的Gitlab服务。

  首先修改hosts文件, 编辑C:\Windows\System32\drivers\etc\hosts,在最后一行添加如下 “192.168.10.130 mygitlab.com”保存退出。



192.168.10.130 mygitlab.com



   打开Chrome浏览器输入 http://mygitlab.com:8800,会出现如下界面,首次访问Gitlab,会让你设置管理员的初始密码,这里我们把密码设置为12345678,下次使用

  用户名:root

  密码:12345678

  就可以用管理员登录Gitlab进行仓库管理

  

gitlab如何建立子仓库 gitlab建立代码仓库_gitlab如何建立子仓库_08

  密码设置后,我们使用root账号登录Gitlab,可以进入Gitlab的首页,如下图所示:

  

gitlab如何建立子仓库 gitlab建立代码仓库_80端口_09

    注意事项

   Gitlab 自带的服务比较多,如果在虚拟机上安装Gitlab,硬件资源一定要分配充足,建议处理器数量设置为2,每个处理器核心的数量设置为2,内存设置为4G。一开始我的虚拟机处理器数量设置的是1,每个处理器核心的数量也是1,内存为512M,安装Gitlab后,访问Gitlab,出现 Gitlab 504,Gitlab 502,而且Gitlab 访问很慢,到后台发现,启动时Gitlab出现了unicorn服务启动失败的情况。后来将CPU和内存调大,调大后使用rpm卸载命令(如下)卸载掉Gitlab,重新安装就好了。

  



rpm -e --nodeps gitlab-ce-10.7.3-ce.0.el7.x86_64



 

   另外我观察了Gitlab启动过程中CPU 和内存的情况,CPU在启动过程的15秒内,曾飙升到100%,CPU 在 60%左右跳动,开销比较大,启动完成后,CPU和内存恢复到正常水平,在0%到3%直接跳动。

   

  在邮箱配置时候,gitlab_rails['smtp_password'] 配置里配置的密码不是邮箱的登录密码而是网易邮箱的客户端授权密码。

gitlab如何建立子仓库 gitlab建立代码仓库_运维_10

 

gitlab如何建立子仓库 gitlab建立代码仓库_gitlab如何建立子仓库_11