安装gitlab
yum install https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-12.5.2-ce.0.el7.x86_64.rpm
配置
vim /etc/hosts
将所在主机以及对应的ip地址写入
vim /etc/gitlab/gitlab.rb
将external_url变量的地址修改为gitlab所在地址
重新加载配置内容。
gitlab-ctl reconfigure
gitlab-ctl restart
查看日志:
# gitlab-ctl tail
建议gitlab机器内存>=4G
在web上登录界面
Gitlab邮箱配置
修改配置文件
vim /etc/gitlab/gitlab.rb
重新加载配置
gitlab-ctl reconfigure
#测试配置是否成功
# gitlab-rails console
使用流程
1. 账号申请
2. 客户端安装
3. SSH key使用
4. 新建项目规则
5. 项目检出check
6. 创建分支branch
7. 代码提交Commit
8. 代码拉取Pull
9. 代码推送Push
10. 代码标签tag
11. 代码冲突解决
12. 创建忽略文件
13. Git Flow实战
创建组
创建成员
加入组
客户端安装
创建一个win10的虚拟机
安装git,安装过程略。
然后安装TortoiseGit。
生成SSHkey。 创建一个SSH Key,在任意文件夹下点击右键,选择 Git GUI Here。在弹出的程序中选择主菜单的【Help】→【Show SSH Key】
如果没有Key,则点击“Generate Key”生成一个SSH Key:
Gitlab 配置SSH keys。 打开Gitlab登录自己的账户, 1.进入用户设置, 找到SSHkeys 2.点击右侧 Add SSH Key 3.输入上一步生成的key 4.点击Add key 即添加成功一个key
添加
继续添加用户bob和tom,开发人员
新建项目规则 创建新项目:创建一个属于dev组的项目app1
新建项目规则 为项目创建master
新建项目规则 项目经理制定开发计划--创建里程碑
新建项目规则 项目经理制定开发计划--分配任务
创建一些议题
项目检出 以tom为例: 这里只是需要把TortoiseGit设置网络里面的ssh客户端位置C:\Program Files\TortoiseGit\bin\TortoiseGitPlink.exe,修改成成git安装目录下的ssh.exe即可。如果你安装过程已经选择了使用OpenSSH方式我想这里也应该不用修改了。不然拉取等操作的时候都会提示需要输入密码。
项目检出 以tom为例:
创建分支和切换分支 以tom为例:
提交
发出请求合并 以tom为例:登录gitlab
确认请求合并 pm登录后确认合并请求
关闭任务 pm关闭任务
拉取 tom再次开发,需要pull获取最新版本库
Gitlab备份与恢复
备份管理 配置文件中加入:
# vim /etc/gitlab/gitlab.rb
gitlab_rails['backup_path'] = '/data/backup/gitlab'
gitlab_rails['backup_keep_time'] = 604800
如果自定义备份目录需要赋予git权限
mkdir /data/backup/gitlab -p
chown -R git.git /data/backup/gitlab
重置配置:gitlab-ctl reconfigure
设定计划任务: 定时任务Crontab中加入
0 2 * * * /usr/bin/gitlab-rake gitlab:backup:create
策略建议:本地保留三到七天,在异地备份永久保存
手动备份测试:gitlab-rake gitlab:backup:create
# ls /data/backup/gitlab/
1576053273_2019_12_11_12.5.2_gitlab_backup.tar
注意:gitlab.rb 和 gitlab-secrets.json 两个文件包含敏感信息。未被备份到备份文件中。需要手动备份
恢复管理
停止数据写入服务
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq
gitlab-rake gitlab:backup:restore
BACKUP=1576053273_2019_12_11_12.5.2
# date -d @1576053273
2019年 12月 11日 星期三 16:34:33 CST
备份tar包一定要放到备份路径下。恢复是删除原有数据,恢复备份tar包中的数据。
如果是在其他服务器恢复备份,一定要记得将 gitlab.rb 和 gitlab-secrets.json 手动复制到相应路径下。