Author:Mr.Gao

Git 简介

GitLab是一个开源版本管理系统,是集代码托管,测试,部署于一体的开源git仓库管理软件,可通过web界面来进行访问公开的或私人项目。与Github类似,GitLab能够浏览代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本,并提供一个文件历史库。是目前非常流行好用的研发版本控制系统。

Git有三个类分别为

  1. Git: 是本地版本控制系统工具。
  2. Github:是官方在线代码托管仓库,可自行注册使用,https://github.com
  3. GitLab:是自建的一个非官方的自有版本仓库。通俗一点就是公司内部的。

这里要给大家分享的是搭建一个属于自己的Git仓库,也就是Gitlab。

Gitlab对硬件还是有一定要求的,因Gitlab有多个job任务及进程,对内存是有要求的,建议1cpu以上,2G内存以上。

部署

前夕准备

我们将在Centos 7下进行这次实践

  1. 关闭防火墙
  2. 关闭SELinux
  3. 关闭NetworkManager
$ sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
$ setenforce 0
$ systemctl stop NetworkManager
$ systemctl disable NetworkManager
$ systemctl disable firewalld
$ systemctl stop firewalld

1. 配置yum源(推荐)

添加gitlab源,我这里使用了清华大学的源

$ cp -fr /etc/yum.repos.d /etc/yum.repos.d.bak

$ cat >/etc/yum.repos.d/gitlab-ce.repo <<EOF
[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
EOF

2. 安装

安装一些git工具包

$ yum makecache
$ yum -y install curl policycoreutils openssh-server openssh-clients postfix cronie git wget patch
$ systemctl restart postfix
$ systemctl enable postfix
$ #yum install gitlab-ce git #自动安装最新版
$ yum install gitlab-ce-12.3.5 git -y #安装指定版本,我这里选用了v12.3.5

安装完毕

配置GitLab

1、加载配置

安装完成后,第一次加载配置的时候会很慢,耐心等待就好,直到加载完成。

如果一直卡在ruby_block[......] action run,处理方法:

按住CTRL+C强制结束

运行:$ sudo systemctl restart gitlab-runsvdir

再次执行: $ sudo gitlab-ctl reconfigure

注意:在配置gitlab之前保证80端口没有被占用

$ gitlab-ctl reconfigure

加载完成后,开始启动Gitlab,GitLab默认会占用80、8080和9090端口,如果条件不允许使用80端口,请看下一节,否则可以忽略

$ gitlab-ctl restart
$ gitlab-ctl status

开户访问web界面

第一次访问,系统会要求重置新密码,管理员的用户名为root

登录完成,点击右上角的Settings进行Preferences设置,在语言项选择中文,此时刷新后,可以看到标题和右侧的导航栏是变为中文的,但是具体的项目并没有中文显示,所以会变成中文+英文的LOW爆显示,后面将会介绍通过补丁/包进行gitlab完美汉化的教程。如图:

2、修改git默认访问端口

首先,停用gitlab,$ gitlab-ctl stop

gitlab.rb

用于gitlab如何调用80和8080的服务等

$ cp -fr /etc/gitlab/gitlab.rb /etc/gitlab/gitlab.rb.gao-`date +%Y%m%d`
$ sed -i 's#gitlab.example.com#YOUR_IP:12580#g' /etc/gitlab/gitlab.rb # "$YOUR_IP"请自行修改
$ vim /etc/gitlab/gitlab.rb
nginx['listen_port'] = 12580
nginx['listen_https'] = false
nginx['listen_addresses'] = ['*']
unicorn['listen'] = '127.0.0.1'
unicorn['port'] = 8088
prometheus['listen_address'] = 'localhost:9099'

unicorn.rb

$ cp -fr /var/opt/gitlab/gitlab-rails/etc/unicorn.rb{,.gao-`date +%Y%m%d`}
$ sed -i 's#8080#8088#g' /var/opt/gitlab/gitlab-rails/etc/unicorn.rb

gitlab-http.conf

这个文件是gitlab内置的nginx的配置文件,里面可以影响到nginx真实监听端口号。

$ cd /var/opt/gitlab/nginx/conf/
$ cp -fr gitlab-http.conf gitlab-http.conf.gao-`date +%Y%m%d`
$ vim gitlab-http.conf #修改以下几行内容
listen *:12580;
server_name YOUR_IP;
set $http_host_with_default "YOUR_IP:12580";

giltab-shell

$ vim /var/opt/gitlab/gitlab-shell/config.yml
gitlab_url: "http://127.0.0.1:8088" #unicorn_port

3. 代码发布地址(域名)

$ vim /var/opt/gitlab/gitlab-rails/etc/gitlab.yml
gitlab:
## Web server settings (note: host is the FQDN, do not include http://)
host: YOUR_IP
port: 12580
https: false

4. 服务验证

$ gitlab-ctl reconfigure
$ gitlab-rake gitlab:check SANITIZE=true --trace #配置检查
$ gitlab-ctl restart
$ gitlab-ctl tail #日志输出,可用于排错

访问git地址:http://YOUR_IP:12580

至此!gitlab安装完成,下面讲一下如何进行汉化


汉化Gitlab(more)

下载对应版本的汉化包

Gitlab默认语言是英文,对于想加强英文的同学,建议继续使用英文,但要求使用中文,这里需要下载一个汉化包

如果要下载指定版本的汉化包,命令如下:

$ cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
12.3.5
$ wget https://gitlab.com/xhang/gitlab/-/archive/v12.3.5-zh/gitlab-v12.3.5-zh.tar.gz
$ tar -zxf gitlab-v12.3.5-zh.tar.gz

下载完成后,将下载的文件夹内容复制到gitlab目录下,复制前先停止Gitlab

$ gitlab-ctl stop

覆盖文件进行汉化

汉化包和你的gitlab版本一定要一样

$ cp -fr /opt/gitlab/embedded/service/gitlab-rails{,gao-`date +%Y%m%d`}    ##备份原文件
$ \cp -rf ./gitlab-v12.3.5-zh/* /opt/gitlab/embedded/service/gitlab-rails/

复制时可能不断提示是否要覆盖,这时可能是系统每次执行cp命令时,其实是执行了cp -i命令的别名。出现这种情况可以修改~/.bashrc,在“alias cp=’cp -i’”前加#注释,再刷新文件 source ~/.bashrc

在复制过程中提示,以下信息是正常的:

cp: cannot overwrite non-directory ‘/opt/gitlab/embedded/service/gitlab-rails/log’ with directory ‘./log’
cp: cannot overwrite non-directory ‘/opt/gitlab/embedded/service/gitlab-rails/tmp’ with directory ‘./tmp’

复制完成后,需要重新加载配置,并启动Gitlab

$ gitlab-ctl reconfigure
$ gitlab-ctl restart

再次访问gitlab页面,就可以显示中文界面,如图:

gitlab部署及汉化的更多相关文章

  1. centos 7 gitlab部署 以及汉化

    =============================================== 2018-04-26   08:56:48 ============================== ...

  2. gitlab部署步骤+汉化

    系统环境centos7 下载gitlab安装包 https://packages.gitlab.com/gitlab/gitlab-ce 我下载的版本是 gitlab-ce-11.1.4-ce.0.e ...

  3. Gitlab部署及汉化操作

    一.简介 GitLab是一个利用 Ruby on Rails 开发的开源应用程序,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目. GitLab拥有与Github类似的功能 ...

  4. Centos7安装部署搭建gitlab平台、汉化

    Centos7安装部署搭建gitlab平台.汉化 安装环境要求:内存不要小于4G,否则后期web界面可能会报错 一.准备工作 1.1 查看系统版本 首先查询系统版本,下载Gitlab的对应版本 [ro ...

  5. Gitlab安装以及汉化

    Gitlab安装以及汉化 系统环境: CentOS 7.5 IP:192.168.1.2 关闭selinux.firewalld gitlab-ce-10.8.4 rpm包:下载地址 一.下载并安装g ...

  6. Gitlab的安装汉化及问题解决

    Gitlab的安装汉化及问题解决(2017/12/14目前版本为10.2.4) 一.前言 Gitlab需要安装的包太TM多了,源码安装能愁死个人,一直出错,后来发现几行命令就装的真是遇到的新大陆一样. ...

  7. Centos下的GitLab的安装汉化和数据备份以及管理员密码重置

    前言: 安装版本:gitlab-ce-8.8.5-ce.1.el7.x86_64.rpm 下载地址: https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yu ...

  8. centos7搭建gitlab服务器、汉化

    1.下载rpm安装包 https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-8.8.5-ce.1.el7.x86_64.rp ...

  9. Gitlab安装、汉化及使用

    环境:centos 关闭防火墙和selinux [root@Gitlab ~]# setenforce [root@Gitlab ~]# service iptables stop && ...

随机推荐

  1. CSS 奇思妙想 | Single Div 绘图技巧

    经常能看到有关 CSS 绘图的文章,譬如使用纯 HTML + CSS 绘制一幅哆啦 A 梦图画.实现的方式就是通过堆叠 div,一步一步实现图画中的一块一块.这种技巧本身没有什么问题,但是就是少了一些 ...

  2. Java中Map<Key, Value>存储结构根据值排序(sort by values)

    需求:Map<key, value>中可以根据key, value 进行排序,由于 key 都是唯一的,可以很方便的进行比较操作,但是每个key 对应的value不是唯一的,有可能出现多个 ...

  3. 字符识别OCR原理及应用实现

    字符识别OCR原理及应用实现 文本是人类最重要的信息来源之一,自然场景中充满了形形色色的文字符号.光学字符识别(OCR)相信大家都不陌生,就是指电子设备(例如扫描仪或数码相机)检查纸上打印的字符,通过 ...

  4. 在Yolov5 Yolov4 Yolov3 TensorRT 实现Implementation

    在Yolov5 Yolov4 Yolov3 TensorRT 实现Implementation news: yolov5 support 引论 该项目是nvidia官方yolo-tensorrt的封装 ...

  5. 【VBA】模块更新方法

    删除模块,重新导入 1 Sub 更新模块() 2 With ThisWorkbook.VBProject 3 .VBComponents.Remove .VBComponents("模块1& ...

  6. SpringCloud 面试题 (持续更新、吐血推荐)

    文章很长,建议收藏起来,慢慢读! 疯狂创客圈为小伙伴奉上以下珍贵的学习资源: 疯狂创客圈 经典图书 : <Netty Zookeeper Redis 高并发实战> 面试必备 + 大厂必备 ...

  7. Visual Studio 2019本地不能运行Azure Functions

    最近一个项目,需要维护同事写得代码,主要是一堆基于 .net core 3.1 的 Azure Functions.想起2年前第一次接触 Azure Functions(那次是基于.net frame ...

  8. 【模拟7.14】建造游乐园(play)

    这题是玄学的数论 首先考虑如何枚举偶数点度的图 可以考虑取出i-1个点 那么成图的数量为2^C(i-1,2) (原因单独取出的i点能平衡已建图中的奇数点,原因是某种性质....) 然后求带联通标号的欧 ...

  9. 基于Ubuntu下以Docker方式gitlab软件的部署

    基于Ubuntu下以Docker方式gitlab软件的部署 目录 基于Ubuntu下以Docker方式gitlab软件的部署 1.安装Docker Compose 1.1 下载curl 1.2 安装c ...

  10. SAI常用快捷键大全

    一.默认常用工具快捷键如下: N 铅笔 B 喷枪 V 笔 X 前/背景色切换 - 前景色与透明色切换 C 水彩笔 A 选区笔 S 选区擦 D 清空当前图层 F 向下转写 (当前图层内容合并至下层,该层 ...