Gitlab+Git实现版本控制系统

Gitlab介绍

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

服务器端

一、运行环境的构建

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

gitlab:安装的是11.3.6版本

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

系统工具:

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

---------------------

posted @ 2019-07-19 05:57  李艳艳665  阅读(609)  评论(0编辑  收藏  举报