如果出现无法载图的情况,请检查与github的连通性
gitlab概述
gitlab是一个开源的分布式版本管理控制系统
github的私有仓库需要收费,而gitlab自己搭建,私有且免费
公司不希望员工获取所有d代码;开源项目一般会使用github
gitlab开源免费,搭建简单,维护成本低,适合中小型公司
并且能做权限管理,实现代码对部分人可见
离线同步,不依赖网络环境进行提交代码
gitlab部署和管理
1 | docker run -d -p 443:443 -p 80:80 -p 222:22 --name gitlab --restart always -v /home/gitlab/config:/etc/gitlab -v /home/gitlab/logs:/var/log/gitlab -v /home/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce |
gitla管理
取消注册功能
管理的分级规则:
用户——项目组——项目
创建步骤:
1.创建群组(设置私有/公开,设置可创建项目的角色)
创建完之后可以进行管理,邀请成员进入
2.创建项目(相当于一个github的repository)
可以通过提示的命令,将代码git push到这个项目中
3.创建用户
进入管理中心——新建新用户
管理中心——群组——将用户加入到群组中(选择他的权限)
本地仓库连接gitlab
添加完成新用户后
登录新用户
在本地/.ssh内新建密钥对,将新公钥复制存放到新用户的项目ssh密钥中/.ssh/config中添加
在本地
1 | Host gitlab |
1 | ssh-agent bash |
main分支默认收保护,无法直接推送到main分支,会报错,所以我这里推送一个dev分支
gitlab备份和恢复
备份
配置文件/home/gitlab/config/gitlab.rc
默认备份文件配置
手动备份:(进入容器内部)gitlab-backup create
查看备份的文件,位于/data/backups下
自动备份:
(使用crontab)
gitlab镜像使用的是apt管理包,进入容器后修改apt源
1 | echo "deb http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse" >> /etc/apt/sources.list |
恢复
1 | #停止gitlab |