版本控制之搭建自己的代码存储仓库——Gitlab

一、简单介绍

GitLab 是一个用于仓库管理系统的开源项目。类似于GitHub和GItee。

GitHub不是第一选择的原因:一是因为在国内的客户在进行拉取跟推送时,由于一些众所周知的原因,可能会导致访问不到;二是仓库都需要进行public,如果创建私有仓库需要收费。

Gitee也是一个仓库管理系统,但是在Gitee上只有5GB的免费空间。

Gitlab很好的解决了这两个问题。Gitlab有两个版本,Gitlab-ce 和Gitlab-ee。Gitlab-ce是免费的,功能可适合于小公司使用;Gitlab-ee是企业版的,功能更加强大。

二、开始搭建(以centos7.6为例)

(1)一些准备工作

      gitlab 安装完成会默认使用一下端口 80、8060、8080、9090、9100、9121、9168、9187。 为了简便的看到安装成功的最终效果, 最好可以确保以上端口没有被使用。如果是云服务器上,尽量打开安全组中所有端口,以及内部防火墙上的所有端口。

      因为我用的云主机,所以只在安全组中打开了所有端口,并没有对机器本身的防火墙进行配置,直接关闭了。

      防火墙设置示例:

# 将http和https加入防火墙策略,并重启防火墙。
systemctl start firewalld
#查看所有开放端口
firewall-cmd --zone=public --list-ports
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
#在防火墙中开放80端口
firewall-cmd --zone=public --add-port=80/tcp --permanent (permanent永久生效,没有此参数重启后失效)
systemctl reload firewalld
systemctl enable firewalld

(2)安装依赖 

     安装依赖

   开启sshd并设置为开机自启

 修改postfix的配置文件后启动并设置为开机自启动

命令集合:

[root@git ~]# yum -y install curl policycoreutils policycoreutils-python openssh-server openssh-clients postfix



[root@git ~]# systemctl enable sshd && systemctl start sshd


[root@git ~]# vim /etc/postfix/main.cf
将inet_interfaces = localhost改为inet_interfaces = all
[root@git ~]# systemctl enable postfix && systemctl start postfix

 (3)开始安装

    配置gitlab-ce的yum repo

  修改国外源为清华源,可以让下载速度更快

清除缓存,并下载GItlab-ce

  

命令合集:

curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash


vim /etc/yum.repos.d/gitlab_gitlab-ce.repo
修改为
baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever/

yum makecache && yum install gitlab-ce -y

 (4)安装成功

出现如下图标,就表示安装成功

(5)内部配置 

       ①、配置访问地址

          打开/etc/gitlab/gitlab.rb ,修改external_url 'http://gitlab.example.com'为自己的ip地址加端口号。

       gitlab-ctl reconfigure #执行此命令重新加载配置且同时启动gitlab所有服务

  启动gitlab (gitlab-ctl start)

此时就可访问

 ②、配置默认访问密码

参考文档:Gitlab如何设置默认的访问密码

  切换到命令运行的目录 cd /opt/gitlab/bin/

  执行如下命令:gitlab-rails console -e production  进行初始化密码

  在irb(main):001:0> 后面通过 u=User.where(id:1).first 来查找与切换账号(User.all 可以查看所有用户)  

 通过u.password='12345678'设置密码为12345678:

通过u.password_confirmation='12345678' 再次确认密码

通过 u.save!进行保存(切记切记 后面的 !)

出现true说明设置成功!

此时就可以用root/12345678来登录页面啦!

登录成功!

 ③、配置邮箱postfix(以QQ邮箱为例)

其他邮箱设置示例以官网为准:官网其他邮箱的SMTP的设置

参考文档:Gitlab设置邮件接受

   gitlab新增新用户有两种方式,第一种可以用户主动注册(自己设置密码);第二种也可以通过root管理员用户直接添加用户,发个邮件到用户的邮箱里,收到邮件后激活。
如果是第二种方式添加新用户的话,就需要配置gitlab邮箱了。

   由于准备环节已经安装并启动了postfix,此处不再赘述。只需要确认postfix在运行即可。如果没有运行,使用systemctl start postfix启动即可。

打开gitlab的配置文件(/etc/gitlab/gitlab.rb)

添加如下内容:(可添加也可修改,因为文件中有以下选项,只是被注释掉)

gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "3089308419@qq.com"
gitlab_rails['smtp_password'] = "qknnhadexxxxxxxx"
gitlab_rails['smtp_domain'] = "smtp.qq.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
gitlab_rails['gitlab_email_from'] = '3089308419@qq.com'
gitlab_rails['gitlab_email_reply_to'] = '3089308419@qq.com'

此处的 smtp_password不是账户的密码,而是授权码。

授权码获取方式:

打开QQ邮箱-设置-账户-帐户安全-开启服务-POP3/SMTP服务-生成授权码-发个短信

成功生成授权码。 

 配置完成后执行gitlab-ctl reconfigure 让配置生效

验证或测试邮箱:

执行 gitlab-rails console进入控制台交互界面, 然后在控制台提示符后输入下面内容发送一封测试邮件 。

成功!此时创建一个新的用户即会发送邮件给新用户的邮箱。 

创建一个新用户:用户名为"技术人员1" 

 目标达成!

三、使用

使用方法类似于Github和Gitee

新建仓库: 

 新建成功!

 建好的仓库如下所示,之后使用方法不再赘述:

还提供一个脚本安装方式:一键安装与配置gitlab(脚本)_Romanticn_chu的博客-CSDN博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值