Gitlab+Git实现版本控制系统

十月 31, 2018 ningmeng

公司里因为之前的svn版本控制系统出错啦,想要重新构建个新的系统,就把这个任务交给了我。在谷歌百度搜了大量的文章去学习,但发现自己安装时总有些坑在等着我们,经过了多次的安装卸载终于算是走了出来,在这里我给大家完整的介绍版本控制系统从搭建到使用的步骤,中间有些比较坑的地方也会着重提醒,希望能很好地帮助大家完成构建,好的接下来我们开始吧。

Gitlab介绍

GitLab是一种类似github的服务,组织可以使用它来提供git存储库的内部管理。 它是一个自我托管的Git-repository管理系统,可以保持用户代码的私密性,并且可以轻松地部署代码的更改。总而言之git更像是一个工具,gitlab则是用来供git提交代码的一个私有仓库。

服务器端

一、运行环境的构建

  1. 服务器:最小化安装的centos7.4

  2. gitlab:安装的是11.3.6版本

  3. 关闭防火墙,关闭selinux,系统80和8080端口不要占用

  4. 系统工具:

yum install vim gcc gcc-c++ wget net-tools lrzsz iotop lsof iotop bash-completion -y
yum install curl policycoreutils openssh-server openssh-clients postfix -y

二、安装gitlab

yum仓库安装:

wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo  准备epel仓库
systemctl  disable firewalld     关闭防火墙
sed -i '/SELINUX/s/enforcing/disabled/' /etc/sysconfig/selinux   关闭selinux
hostnamectl  set-hostname xxx.com.cn    设置主机名(根据需求配置)
​
# 准备仓库:(注意这里指向的最新稳定版的,自己可根据需求下载)
vim /etc/yum.repos.d/gitlib.repo
[gitlab-ce]
name=gitlab-ce
baseurl=http://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7
repo_gpgcheck=0
gpgcheck=0
enabled=1
gpgkey=https://packages.gitlab.com/gpg.key
​
# 安装:
yum install gitlab-ce

rpm包安装:

# 清华大学镜像地址
https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/     
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-11.3.6-ce.0.el7.x86_64.rpm
​
# 本地yum安装
yum localinstall gitlab-ce-11.3.6-ce.0.el7.x86_64.rpm    

邮箱配置:

vim /etc/gitlab/gitlab.rb    #在gitlab配置文件里添加如下配置,默认没有
下面用的是用的网易163邮箱:
external_url 'http://192.168.10.130' #gitlab服务器IP地址
gitlab_rails['smtp_enable'] = true 
gitlab_rails['smtp_address'] = "smtp.163.com"  #邮件服务器地址
gitlab_rails['smtp_port'] = 25     #端口
gitlab_rails['smtp_user_name'] = "xxxxx@163.com"   #自己的邮箱
gitlab_rails['smtp_password'] = "zhang123"    #密码
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'] = "xxxxx@163.com"   #自己的邮箱
user["git_user_email"] = "xxxxx@163.com"  #自己的邮箱
如果用的是腾讯的企业邮箱:
external_url 'http://192.168.2.9'
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.exmail.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "xxxxx@ningmeng.com"
gitlab_rails['smtp_password'] = "Li950628"
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'] = "xxxxx@ningmeng.com"
user["git_user_email"] = "xxxxx@ningmeng.com"
​
gitlab-ctl  reconfigure   #每次修改配置都要重新执行此命令

启动命令

gitlab-ctl  reconfigure  #修改完配置文件要执行此操作
gitlab-ctl  start      #启动
gitlab-ctl  stop       #停止
gitlab-ctl  restar     #重启

当你完成以上操作后,就可以在浏览器直接输入gitlab服务器地址进入gitlab的图形界面啦,注意,刚进去会提示你修改密码,修改后就可以直接登录啦,用户名默认root。接下来用户信息的设置、添加项目、添加组、分配权限都可以在图形界面修改啦,很简单的就不在多说啦。

三、汉化gitlab

gitlab是一款很好用的代码管理工具,但它默认是英文版,对一些英文不太好的朋友来说确实很难受。不过不用担心,在最新版的gitlab中已经内置中文汉化包,可以在个人设置里选择中文,但是翻译的还不完整,有好多地方还是英文版,不过也有解决办法,接下来就带大家开始gitlab的汉化之旅。

1. 首先我们要获取中文包

在github上有两家优秀的汉化包组织xhang、larryli,其中larryli最新版是8.8,xhang最新是11.4,大家根据需求选择汉化包地址:xhang:只更新到8.8.5版本。larryli:延续Larry Li项目的8-8-zh中文版本进行更新,目前最新版本是11.4

2. 汉化步骤

# 查看当前gitlab的版本
cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
​
# 克隆 GitLab.com 仓库
git clone https://gitlab.com/xhang/gitlab.git
​
# 如果是8.8之前的版本可以使用这个
git clone https://gitlab.com/larryli/gitlab.git
​
#注意:拉取过程可能会很慢,请耐心等待
打汉化补丁
以 9.2.6 版本为例(使用xhang的git仓库)
​
# 进入克隆仓库得到的gitlab目录
cd gitlab 
​
# 查看tag版本,选择合适的汉化版本
git tag
​
# 对比不同,这里比较的是tag,v9.2.6为英文原版,v9.2.6-zh为汉化版本。diff结果是汉化补丁。
git diff v9.2.6 v9.2.6-zh > /tmp/9.2.6.diff
​
# 停止gitlab
gitlab-ctl stop
​
# 应用汉化补丁
cd /opt/gitlab/embedded/service/gitlab-rails
git apply /tmp/9.2.6.diff
​
# 启动gitlab
gitlab-ctl start
​

当做好以上步骤后再去访问gitlab页面就会出现信息的汉字,gitlab的汉化过程比较缓慢,当你确定都是按着以上步骤做的,访问却是502是请耐心等待一会如果10以上的版本用以上方法不可以的话,那就试试另外一种

# 生成好对比文件xxx.diff后
cd /opt/gitlab/embedded/service/gitlab-rails
​
# patch开放源代码软件安装补丁程序。让用户利用设置修补文件的方式,修改,更新原始文件。
yum install patch -y
​
# 导入文件
patch -d /opt/gitlab/embedded/service/gitlab-rails -p1 < 11.1.6.diff
# 一路回车 覆盖文件
​
# 启动
gitlab-ctl start
​
# 重新加载配置
gitlab-ctl reconfigure
​

通过以上两种方法应该就能解决汉化问题

客户端配置

Centos系统

# 安装git
yim install git
​
# Git 全局设置
git config --global user.name "root"
git config --global user.email "lining@51eshop.net"
​
# 创建新版本库
git clone http://192.168.2.9/eshop/my-one.git
cd my-one
touch README.md
git add README.md
git commit -m "add README"
git push -u origin master
​
# 已存在的文件夹或 Git 仓库
cd existing_folder
git init
git remote add origin http://192.168.2.9/eshop/my-one.git
git add .
git commit
git push -u origin master
​
# 这一些在gitlab中创建项目时都有提示

Windows系统

具体的就不多说啦,你们可以看下这篇文章

git配置安装

windows中git的客户端程序众多,可根据习惯自行选择

Gitlab邮件测试

# 开启测试客户端
# 确保method为smtp,错了就是配置写错了或者没被正确加载
gitlab-rails console production
irb(main):001:0> ActionMailer::Base.delivery_method
=> :smtp
​
# 确保配置是我们要的
irb(main):002:0> ActionMailer::Base.smtp_settings
=> {:address=>"localhost", :port=>25, :domain=>"localhost.localdomain", :user_name=>nil, :password=>nil, :authentication=>nil, :enable_starttls_auto=>true}
​
# 发送测试邮件,此时会打印详细错误
irb(main):003:0> Notify.test_email('收件地址','邮件标题', '邮件内容').deliver_now
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值