GitLab安装配置

https://about.gitlab.com/install/
  • 安装基础环境
1
2
3
4
5
# 如果没有ssh服务请先安装 openssh-server
yum install -y curl policycoreutils-python
# email
yum install postfix -y
systemctl enable postfix && systemctl start postfix
  • 添加gitlab包仓库并安装(ce社区版)
1
2
3
4
5
6
7
8
9
10
11
# 默认国外下载很慢,可改为国内源
# https://mirror.tuna.tsinghua.edu.cn/help/gitlab-ce/
vim /etc/yum.repos.d/gitlab-ce.repo
[gitlab-ce]
name=Gitlab CE Repository
baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever/
gpgcheck=0
enabled=1

yum makecache
yum install gitlab-ce -y
  • 修改配置
1
2
3
4
5
6
7
8
9
10
11
12
13
# 修改exrernal_url:改成机器域名或者IP地址
vim /etc/gitlab/gitlab.rb
external_url 'http://192.168.100.4'

# 修改 unicorn 端口
unicorn['port'] = 8090

# 修改nginx端口
nginx['listen_port'] = 8089

# 修改username
user['username'] = "gitlab"
user['group'] = "gitlab"
  • 重新加载配置
1
gitlab-ctl reconfigure
  • 服务启动
1
2
3
gitlab-ctl start 
gitlab-ctl stop
gitlab-ctl restart
  • 查看服务组件状态
1
gitlab-ctl status
  • 查看组件日志
1
gitlab-ctl tail nginx

git命令
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
git config --global user.name ""  # 设置全局用户名
git config --global user.email xxx@xx.com # 设置全局邮箱
git config --global --list # 列出用户全局设置

git clone http://172.31.x.x/haha/demo1.git # clone项目到本地
git add . # 添加指定文件或者目录等到暂存区
git commit -m "v1" # 提交文件到本地工作区(本地仓库)
git status # 查看本地工作区和暂存区的状态
git push -u origin master # 提交代码到服务器
git pull # 从gitlab更新代码到本地

git log # 查看操作日志
vim .gitignore # 定义忽略某些指定文件或目录不上传至gitlab
git reset --hard 5ae4v02 # 回退到指定id版本
git reset --hard HEAD^ # 回退到上一个版本,^^前2个版本(本地回滚)


git branch # 查看当前所处的分支
git checkout -b dev # 创建并切换到一个新分支
git checkout dev # 切换分支


gitlab备份
1
2
3
4
5
6
7
8
9
10
11
12
vim /etc/gitlab/gitlab.rb
gitlab_rails['manage_backup_path'] = true
gitlab_rails['backup_path'] = "/data/gitlab/backup"
gitlab_rails['backup_keep_time'] = 604800 # 单位秒,7天

gitlab-ctl reconfigure # 配置生效

# 手动执行备份命令,会将备份结果存至刚设置的备份目录中
gitlab-rake gitlab:backup:create # 备份的是项目内容

# 定时任务
0 02 * * * /usr/bin/gitlab-rake gitlab:backup:create &> /dev/null
gitlab恢复
1
2
3
4
5
6
7
8
9
10
11
12
# 停止数据写入服务,可正常读取
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq

# 通过gitlab-rake命令进行恢复,恢复时需要指定此前设备名称(但不需要写后缀名称,例如:_gitlab_backup.tar)
gitlab-rake gitlab:backup:restore BACKUP=156612xxx_2020_02_22_12.0.3

# 重启服务
gitlab-ctl restart

## gitlab迁移
和恢复步骤一样,只需将备份导入到新服务器上,但是需注意新服务器版本必须与创建备份的gitlab版本相同。
gitlab升级
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# 关闭gitlab服务,停止数据写入
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq
gitlab-ctl stop nginx

# 创建数据备份,防止更新失败
gitlab-rake gitlab:backup:create

# 安装升级包
升级包下载地址 https://packages.gitlab.com/gitlab/gitlab-ce/
rpm -Uvh gitlab-ce-11.3.0-ce.0.el7.x86_64.rpm
yum install gitlab-ce-11.3.0-ce.0.el7.x86_64

# 重新加载配置
gitlab-ctl reconfigure

# 重启gitlab服务
gitlab-ctl restart
-------------本文结束感谢您的阅读-------------
原创技术分享,感谢您的支持。