GitLab安装配置全过程

一、准备一台Linux主机

我用了一台VMware虚拟机,配置如下:

IP:192.168.1.159

1、开SSH

systemctl enable sshd

2、关闭SELINUX

vi /etc/sysconfig/selinux

修改下边红字部分

# This file controls the state of SELinux on the system.

# SELINUX= can take one of these three values:

#     enforcing - SELinux security policy is enforced.

#     permissive - SELinux prints warnings instead of enforcing.

#     disabled - No SELinux policy is loaded.

SELINUX=disabled

# SELINUXTYPE= can take one of three two values:

#     targeted - Targeted processes are protected,

#     minimum - Modification of targeted policy. Only selected processes are protected.

#     mls - Multi Level Security protection.

SELINUXTYPE=targeted

3、安装rz

yum -y install lrzsz

之后上传文件一定要用-be参数(其中-b是--binary用二进制的方式上传,-e是--escape强制escape所有控制字符),否则上传的文件不完整

rz –be

4、安装wget

yum -y install wget

5、更换yum源,用于提速yum

(1)备份yum源

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

(2)下载新的CentOS-Base.repo 到/etc/yum.repos.d/

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo  

清理缓存

yum clean all

重新生成缓存

yum makecache

 

一、安装GitLab

1、安装必须的组件

yum install -y curl policycoreutils-python openssh-server

2、安装GitLab社区版包库

cd /home

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

3、安装GitLab社区版

EXTERNAL_URL是访问的URL

EXTERNAL_URL="http://192.168.1.159" yum install -y gitlab-ce 

GitLab安装配置全过程

安装完成后:

gitlab-ctl reconfigure    #使配置文件生效 但是会初始化除了gitlab.rb之外的所有文件

gitlab-ctl status        #查看状态

gitlab-ctl stop          #停服务

gitlab-ctl start         #起服务

gitlab-ctl tail          #查看日志的命令(Gitlab 默认的日志文件存放在/var/log/gitlab 目录下)

相关目录信息

.git/config                              #版本库特定的配置设置,可用--file修改

~/.gitconfig                             #用户特定的配置设置,可用--global修改

/var/opt/gitlab/git-data/repositories/root    #库默认存储目录

/opt/gitlab                             #是gitlab的应用代码和相应的依赖程序

/var/opt/gitlab       #此目录下是运行gitlab-ctl reconfigure命令编译后的应用数据和配置文件,不需要人为修改配置

/etc/gitlab #此目录下存放了以omnibus-gitlab包安装方式时的配置文件,这里的配置文件才需要管理员手动编译配置

/var/log/gitlab                          #此目录下存放了gitlab各个组件产生的日志

/var/opt/gitlab/backups/                  #备份文件生成的目录

相关文件

/opt/gitlab/embedded/service/gitlab-rails/config  #配置文件(修改clone的ip地址)

/etc/gitlab/gitlab.rb                      #设置相关选项进行配置(gitlab地址就在这)

/var/opt/gitlab/git-data                   #Git存储库数据(默认

4、运行服务(此步可不做)

gitlab-ctl start

5、登录测试

首次登录需要修改root密码

GitLab安装配置全过程

密码改成:********

账号:root

GitLab安装配置全过程

登录后的页面(这是IE浏览器,显示有问题,需换非IE浏览器访问)

GitLab安装配置全过程

二、汉化GitLab

1、检查安装版本和汉化包版本

安装版本检查

cat /opt/gitlab/embedded/service/gitlab-rails/VERSION

GitLab安装配置全过程

汉化包检查

https://gitlab.com/xhang/gitlab

GitLab安装配置全过程

2、汉化过程

如果具有相同版本的汉化标签

(1)克隆汉化版本库

yum install -y git

git clone https://gitlab.com/xhang/gitlab.git

(可以指定版本号git clone https://gitlab.com/xhang/gitlab.git -b v10.0.2-zh)

如果已经克隆过,则进行更新git fetch

(2)查看该汉化补丁的版本

cat gitlab/VERSION

GitLab安装配置全过程

(2)比较汉化标签和原标签,导出 patch 用的 diff 文件。

gitlab-ctl stop

cd /home/gitlab

git diff v11.1.4 v11.1.4-zh > ../11.1.4-zh.diff

GitLab安装配置全过程

生成11.1.4-zh.diff文件

由于官方版本比汉化包少一些文件(assets目录下所有文件)会导致打补丁时出错,所以先拷贝这些文件到官方目录

cd /home/gitlab/app

cp -r assets /opt/gitlab/embedded/service/gitlab-rails/app/

将11.1.4-zh.diff作为补丁更新到gitlab中

yum install patch -y

patch -d /opt/gitlab/embedded/service/gitlab-rails -p1 < 11.1.4-zh.diff

cd /opt/gitlab/embedded/service/gitlab-rails

git apply /home/11.1.4-zh.diff

强行拷贝过去后git apply可能会出错

GitLab安装配置全过程

用patch打补丁

GitLab安装配置全过程

出现询问时都输入y,注意上图有个失误,导致多了一个rej文件,这个文件一定要重命名掉

cd gitlab-rails/app/assets/javascripts/boards/components/

mv board_delete.js.rej board_delete.js.rej.bak

启动和检查GitLab配置

gitlab-ctl start

gitlab-ctl reconfigure

重新登录192.168.1.159

GitLab安装配置全过程

三、用LDAP接入AD

四、增加邮件功能

1、修改配置文件gitlab.rb

vi /etc/gitlab/gitlab.rb

在gitlab.rb文件中添加下面配置:

gitlab_rails['smtp_enable'] = true

gitlab_rails['smtp_address'] = "smtp.********"

gitlab_rails['smtp_port'] = 25

gitlab_rails['smtp_user_name'] = "gitlab"

gitlab_rails['smtp_password'] = "**********"

gitlab_rails['smtp_domain'] = "**********"

gitlab_rails['smtp_authentication'] = "login"

gitlab_rails['smtp_enable_starttls_auto'] = true

 

gitlab_rails['gitlab_email_from'] = 'gitlab@**********'

user['git_user_email'] = "gitlab@**********"

2、修改完,重新配置

gitlab-ctl reconfigure

查看日志

gitlab-ctl tail

五、修改时区

如果不修改默认时间会造成下图的现象,可能会差几个小时

GitLab安装配置全过程

1、修改配置文件gitlab.rb

vi /etc/gitlab/gitlab.rb

在gitlab.rb文件中

GitLab安装配置全过程

添加下面配置:

gitlab_rails['time_zone'] = 'Asia/Shanghai'

2、修改完,重新配置

gitlab-ctl reconfigure

查看日志

gitlab-ctl tail

 

六、设置密码输错锁定

1、修改配置文件gitlab.rb

vi /etc/gitlab/gitlab.rb

在gitlab.rb文件中修改下面配置:

gitlab_rails['rack_attack_git_basic_auth'] = {

  'enabled' => true,

  'ip_whitelist' => ["127.0.0.1"],

  'maxretry' => 300,

  'findtime' => 60,

  'bantime' => 60

}

解释:

# Rack Attack IP banning enabled

'enabled' => true

# Whitelist requests from 127.0.0.1 for web proxies (NGINX/Apache) with incorrect headers

'ip_whitelist' => ["127.0.0.1"]

# Limit the number of Git HTTP authentication attempts per IP

'maxretry' => 300

# Reset the auth attempt counter per IP after 60 seconds

'findtime' => 60

# Ban an IP for one hour (60s) after too many auth attempts

'bantime' => 60

2、修改完,重新配置

gitlab-ctl reconfigure

查看日志

gitlab-ctl tail

 

 

七、备份

1、修改配置文件gitlab.rb

vi /etc/gitlab/gitlab.rb

在gitlab.rb文件中

GitLab安装配置全过程

修改为下面配置:

gitlab_rails['manage_backup_path'] = true

gitlab_rails['backup_path'] = "/var/opt/gitlab/backups"    //gitlab备份目录

gitlab_rails['backup_archive_permissions'] = 0644       //生成的备份文件权限

gitlab_rails['backup_keep_time'] = 7776000              //备份保留天数为3个月(即90天,这里是7776000秒)

2、修改完,重新配置

gitlab-ctl reconfigure

查看日志

gitlab-ctl tail

3、手动备份一次

gitlab-rake gitlab:backup:create


cd /var/opt/gitlab/backups目录,查看已有备份文件

GitLab安装配置全过程

4、添加每日备份的计划任务

编辑crontab

vi /etc/crontab

添加下边一行

0 4 * * * root /opt/gitlab/bin/gitlab-rake gitlab:backup:create CRON=1

GitLab安装配置全过程

注意:环境变量CRON=1的作用是如果没有任何错误发生时, 抑制备份脚本的所有进度输出

重启crond服务

systemctl restart crond

重启系统

shutdown –r now

 

七、恢复测试

GItLab只能还原到与备份文件相同的gitlab版本。

1、克隆一份正式环境的GitLab,改服务器IP为192.168.1.211

2、修改GitLab的访问IP地址

vi /etc/gitlab/gitlab.rb

在gitlab.rb文件中

GitLab安装配置全过程

修改为下面配置:

external_url 'http://192.168.1.221'

修改完,重新配置

gitlab-ctl reconfigure

3、随便删除一个项目

GitLab安装配置全过程

4、开始恢复操作

(1)将备份文件权限修改为777,不然可能恢复的时候会出现权限不够,不能解压的问题

cd /var/opt/gitlab/backups

chmod 777 1550089292_2019_02_14_11.1.4_gitlab_backup.tar

(2)执行命令停止相关数据连接服务

gitlab-ctl stop unicorn

gitlab-ctl stop sidekiq

gitlab-ctl status

GitLab安装配置全过程

(3)执行命令从备份文件中恢复Gitlab

Gitlab的恢复操作会先将当前所有的数据清空,然后再根据备份数据进行恢复

gitlab-rake gitlab:backup:restore BACKUP=备份文件编号

gitlab-rake gitlab:backup:restore BACKUP=1550089292_2019_02_14_11.1.4

GitLab安装配置全过程

输入yes

 

输入yes

GitLab安装配置全过程

恢复完成

(4)最后再次启动Gitlab

gitlab-ctl start

gitlab-ctl status

GitLab安装配置全过程

5、检查恢复情况

(1)check命令

gitlab-rake gitlab:check SANITIZE=true

GitLab安装配置全过程

GitLab安装配置全过程

全部ok

(2)web页面

之前删除的项目已经恢复了。20GB的数据,200个项目共计恢复用时1小时

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Git安装和使用 Git安装和使用 刚开始用git的小白适用,,转自http://www.cnblogs.com/qijunjun/p/7137207.html 实际项目开发中,我们经常会用一些版本控制器来托管自己的代码,今天就来总结下Git的相关用法,废话不多说,直接开写。 目的:通过Git管理g
fatal: remote origin already exists.解决方法 第一个问题git remote add origin**************fatal: remote origin already exists.(报错远程起源已经存在。)上网查了下,有很多小白遇到过这个问题,以
git常用命令(二)查看历史记录 git log [--pretty=oneline] [ --oneline] / reflog Eniac-W 于 2020-10-18 18:12:38 发布 2368 收藏 3分类专栏: git 文章标签: git版权 git专栏收录该内容10 篇文章0 订阅
git之如何把本地文件上传到远程仓库的指定位置 git专栏收录该内容2 篇文章0 订阅订阅专栏2018.11.26添加内容: 对于自己的仓库,我们建议将远程仓库通过clone命令把整个仓库克隆到本地的某一路径下。这样的话我们从本地向远程仓库提交代码时,就可以直接把需要提交的文件拖到我们之前克隆下来的
代码规范之 lint-staged 在代码提交之前,进行代码规则检查能够确保进入git库的代码都是符合代码规则的。但是整个项目上运行lint速度会很慢,lint-staged能够让lint只检测暂存区的文件,所以速度很快。 安装与配置 安装husky和lint-staged: yarn add hu
方法:1、文件没有git操作时用“git checkout--文件”命令还原;2、文件提交到暂存区时用“git reset HEAD”命令回退当前版本还原;3、文件提交到仓库区时用“git reset HEAD^”命令回退上一个版本还原。 本文操作环境:Windows10系统、Git2.30.0版、
使用Git将本地文件提交到远程仓库 一 操作准备条件: git远程仓库已经建好了,本地文件已经存在了,现在要将本地代码推到git远程仓库保存。 解决办法如下: 1、(先进入项目文件夹)通过命令 git init 把这个目录变成git可以管理的仓库 git init 2、把文件添加到版本库中,使用命令
GitHub克隆代码到本地全教程 因为工作原因更换电脑,想要从GitHub上拉取代码的话需要重新配置ssh keys,时间过的久了怕忘记就把步骤给记录下来。 具体步骤: 1.安装git 这我就不说了 2.在TortoiseGit的安装文件中找到 puttygen.exe应用程序 ,默认应该都是 :C
github上传项目的时候报出git@github.com: Permission denied (publickey). fatal: Could not read from remote repo 前言 会不会有程序员小伙伴在刚开始使用github的时候上传项目的时候困难重重,但是又基于自己本身
查看历史 git log --pretty=onelinegit log (然后一直按enter键) 一个是切换根据历史里面的id切换git checkout ID git log 需要不断按enter键出来历史提交记录 git log --pretty=oneline 是直接出来历史记录
Git工作原理及常用命令 欧怼怼发布于&#160;2020-12-08 git介绍 git(读音/ɡɪt/)是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。git是Linus Torvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件。 git
git git提交项目的具体流程 git项目流程:以下主要有3个角色:负责人、成员A、成员B(若负责人也要修改代码,则负责人同时兼任2个角色:负责人、成员) 主要负责人:搭建项目架构且提交到git上1.github官网登录后,新建仓库,生成地址url,复制线上仓库.git结尾的地址url2.在一个空
git上传项目全部流程 一、下载git 进入网址:https://git-scm.com/downloads; 点击中的Download 2.16.0 for Windows; 在中选择蓝色字段点击,根据电脑64或32位选择适合的下载,点击即可进行下载,下载完成后傻瓜式安装,一直点击下一步即可完成安
Your local changes to the following files would be overwritten by checkout问题的解决 于 2018-07-17 11:38:27 发布 Git 的本地版本管理有三个部分 名称&#x9;说明工作区(Working Directory)&#x9;
Git配置SSH Keys步骤使用教程 1.若是首次安装使用git,先配置用户名称和邮箱(如果有就不需要配置) 打开Git Bash,输入 git config --global user.name &quot;姓名&quot;git config --global user.email &quot
基本配置完成,接下来就是上传你要上传的项目了。 1、初始化git 进入你要上传的项目的文件夹,在文件夹内鼠标右击,选择“Git Bash Here”打开git命令行,输入: $ git init 目的是初始化git,并且会创建个“.git”文件夹,里面有个“config”就是用来保存远程厂库路径地址
本篇内容主要讲解“gitee如何上传代码”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“gitee如何上传代码”吧! ...
这篇“从gitee上下的代码如何用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这...
这篇文章主要介绍“gitee如何下载仓库里的项目”,在日常操作中,相信很多人在gitee如何下载仓库里的项目问题上存在疑惑,小编查阅了各式资料,整理出简单好用的...
本篇内容主要讲解“怎么在Gitee上更新代码”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么在Gitee上更新代...