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

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

转载于:https://www.cnblogs.com/liyanyan665/p/11211014.html

Gitlab+Git实现版本控制系统相关推荐

  1. Git分布式版本控制系统(下)

    Git分布式版本控制系统(下) 链接:https://pan.baidu.com/s/1CgaEv12cwfbs5RxcNpxdAg 提取码:fytm 复制这段内容后打开百度网盘手机App,操作更方便 ...

  2. Git分布式版本控制系统(上)

    Git分布式版本控制系统(上) 链接:https://pan.baidu.com/s/1CgaEv12cwfbs5RxcNpxdAg 提取码:fytm 复制这段内容后打开百度网盘手机App,操作更方便 ...

  3. Git分布式版本控制系统

    Git分布式版本控制系统 git remote -v 查看仓库 一 企业高效持续集成平台场景介绍: 二,GIT分布式版本控制系统: 2.1 Git简介: 2.1.1 git是什么? Git在Wikip ...

  4. Git 分布式版本控制系统使用教程

    Git 专栏索引: Git 分布式版本控制系统使用教程 在 IDEA 中使用 Git 图文教程 Git 分布式版本操作系统使用教程 1. 版本控制系统简介 1.1 集中式版本控制系统 1.2 分布式版 ...

  5. Git 分布式版本控制系统

    目录 文章目录 目录 Git 分布式版本控制系统 Git 的基本概念 Git 的仓库结构 Git 的核心对象 Git 的数据结构 Git Flow 参考文档 Git 分布式版本控制系统 Git 是一个 ...

  6. g4e基础篇#2 Git分布式版本控制系统的优势

    1. 基础篇: 为什么要使用版本控制系统 Git 分布式版本控制系统的优势 Git 安装和设置 初始化Git存储库(Repo) 起步 1 – 创建分支和保存代码 起步 2 – 了解Git历史记录 起步 ...

  7. Git分布式版本控制系统简介和使用

    Git是一款免费.开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目.[1] Git的读音为/gɪt/. Git是一个开源的分布式版本控制系统,可以有效.高速的处理从很小到非常大的项目版本 ...

  8. 22-07-14 西安 Git 分布式版本控制系统 、代码管理

    Git是目前世界上最先进的分布式版本控制系统,Git可以做源代码管理 Git的诞生 Linus (Linus Torvalds 林纳斯.托瓦斯)是在BitKeeper停止向开源社区提供免费版本后开发了 ...

  9. 使用Git分布式版本控制系统

    GIT(分布式版本控制系统) Git是一款免费.开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目. Git是一个开源的分布式版本控制系统,可以有效.高速的处理从很小到非常大的项目版本管理 ...

最新文章

  1. java 网络编程简单聊天_网络编程之 TCP 实现简单聊天
  2. 【NLP】GloVe的Python实现
  3. Oracle查询转换之连接谓词推入
  4. C语言的叙述大小写字母e1相同,第1、2章C语言基础练习题
  5. php连接access带密码,phpadodb连接带密码access数据库实例,测试成功
  6. C# Winform用户体验整理【原】
  7. 利息高的网络贷款可以不还吗?
  8. Objective-C学习之旅(四)----内存管理2----retain点语法
  9. 137页Python学习笔记,全面总结看这一篇就够了
  10. 计算机组成原理实验:静态随机存储器实验
  11. 开放共享:网商银行的运营探索及技术支撑
  12. 苹果签名是什么?苹果签名的作用是什么?
  13. HANA 如何创建XS Job来完成定时任务
  14. AI一分钟 | 苹果9月13日凌晨召开发布会;林斌晒小米手机新品,“撞脸”荣耀Magic 2...
  15. 微信小程序网络请求异常怎么办_微信小程序网络超时的处理
  16. Uncaught TypeError: Cannot read property 'name' of null怎么处理
  17. EETI eGTouch Linux 驱动的安装与使用
  18. vue.js请求数据
  19. GDOUCTF2023 Writeup
  20. 利用ASP显示当前在线人数

热门文章

  1. 如何设置硬盘安装linux,linux用硬盘安装时所设置选项
  2. 前轮转向最大角度设计原来_转向不足是怎么回事?我们怎么去改变这种特性
  3. laravel框架连接Oracle,laravel5.8(十四)连接oracle数据库
  4. xtrabackup备份mysql_xtrabackup备份mysql
  5. 关于vhr项目部署所遇到的问题总结,Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin
  6. ORA-01502: 索引或这类索引的分区处于不可用状态 [已解决]
  7. 简书粉丝列表老bug
  8. [转载] 丛林中的糖果小屋
  9. Starling GodRay 效果实现
  10. 图像语义分割python_图像语义分割出的json文件和原图,用plt绘制图像mask