gitlab安装
一 git 仓库搭建
# gitlab 安装包
https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/
# 汉化包
https://gitlab.com/xhang/gitlab
汉化包必须和安装包版本一致
1. 下载依赖包
yum install curl policycoreutils openssh-server openssh-clients policycoreutils-python -y
2.安装 gitlab
[root@gitlab ~]# rpm -ivh gitlab-ce-12.3.0-ce.0.el7.x86_64.rpm
3.修改配置文件
[root@gitlab tool]# vim /etc/gitlab/gitlab.rb
external_url 'http://10.0.0.10'
4. 修改完gitlab.rb 文件 进行重构
[root@gitlab tool]# gitlab-ctl reconfigure
5.查看 状态
[root@gitlab tool]# gitlab-ctl status
二 gitlab 配置汉化
1. 解压 汉化包
[root@gitlab tool]# tar -xf gitlab-12-3-stable-zh.tar.gz
[root@gitlab tool]# gitlab-ctl stop
2. 备份原文件
[root@gitlab tool]# cp -rp /opt/gitlab/embedded/service/gitlab-rails{,.bak_$(date +%F)}
3. 将汉化包覆盖过去
[root@gitlab tool]# /bin/cp -r gitlab-12-3-stable-zh/* /opt/gitlab/embedded/service/gitlab-rails
[root@gitlab service]# cd /home/tool/
[root@gitlab tool]# ls
gitlab-12-3-stable-zh gitlab-12-3-stable-zh.tar.gz gitlab-ce-12.3.0-ce.0.el7.x86_64.rpm
[root@gitlab tool]# /bin/cp -r gitlab-12-3-stable-zh/* /opt/gitlab/embedded/service/gitlab-rails
4. 启动
[root@gitlab tool]# gitlab-ctl restart
5. 访问web
汉化后可能会出现502,需要多等一会就行了
6. 设置为中文
http://10.0.0.10/profile/preferences
三 web 页面设置
1. 关闭注册
http://10.0.0.10/admin/application_settings
注册限制 不允许注册
2. 分支操作
#添加ssh key
ssh-keygen -t rsa
cat .ssh/id_rsa.pub
# 本地添加一个远程分支
git remote add gitlab git@10.0.0.100:test_git/git_test.git
# 本地文件推到仓库
git push -u gitlab master
# 克隆 需要做认证
git clone git@10.0.0.100:test_git/git_test.git
# 删除远程分支 testing (分支名)
git push origin --delete testing
#本地分支推到 gitlab testing分支上
[root@node2 git_test]# git push -u origin testing
#先把远程分支 拉取到本地
git pull gitlab dev(远程分支名称)
#把testing分支合并到主分支上
git checkout master # 切换到主分支
git merge testing # 把testing分支合并到master上
四 gitlab 备份
对gitlab进行备份将会创建一个包含所有库和附件的归档文件。 对备份的恢复只能恢复到与备份时的gitlab相同的版本。将gitlab迁移到另一台服务器上的最佳方法就是通过备份和还原。
1.自定义备份目录
修改gitlab配置文件
vim /etc/gitlab/gitlab.rb
末尾追加
gitlab_rails['backup_path'] = '/data/backup/gitlab' gitlab_rails['backup_keep_time'] = 604800 #备份保留的时间(以秒为单位,这个是七天默认值),
# 完成后执行
gitlab-ctl reconfigure
2.手动备份
[root@gitlab ~]# gitlab-rake gitlab:backup:create
[root@gitlab ~]# ll /var/opt/gitlab/backups/
total 260
-rw------- 1 git git 266240 Nov 20 14:44 1574232265_2019_11_20_12.3.5_gitlab_backup.tar
3. 定时备份
在定时任务里添加:
0 2 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create CRON=1
环境变量CRON=1的作用是如果没有任何错误发生时, 抑制备份脚本的所有进度输出。
4. 恢复
需要gitlab处于运行状态
# 停连接到数据库的进程(停止数据写入服务),保持gitlab运行
[root@gitlab backups]# gitlab-ctl stop sidekiq
ok: down: sidekiq: 0s, normally up
[root@gitlab backups]# gitlab-ctl stop unicorn
ok: down: unicorn: 0s, normally up
指定时间戳你要从那个备份恢复
[root@gitlab backups]# gitlab-rake gitlab:backup:restore BACKUP=1574232265_2019_11_20_12.3.5