Appearance
Gitlab
待办
备份
https://docs.gitlab.com/ee/raketasks/backup_gitlab.html
恢复
https://docs.gitlab.com/ee/raketasks/restore_gitlab.html
升级
https://docs.gitlab.com/ee/update/#installation-using-docker
https://docs.gitlab.com/ee/update/package/
bash
gitlab-rake gitlab:env:info
gitlab-rake gitlab:backup:create
cd /var/opt/gitlab/backups
gitlab-rake gitlab:import_export:version
gitlab-rake gitlab:import_export:data
gitlab-rake gitlab:backup:restore BACKUP=1597188417
gitlab-ctl reconfigure
/etc/gitlab/gitlab.rb
Gitlab
Gitlab简介
GitLab 是一个用于仓库管理系统的开源项目,使用 Git 作为代码管理工具,并在此基础上搭建起来的 web 服务。
GitLab 和 GitHub 一样属于第三方基于 Git 开发的作品,免费且开源(基于 MIT 协议),与 Github 类似,可以注册用户,任意提交你的代码,添加 SSHKey 等等。不同的是,GitLab 是可以部署到自己的服务器上,数据库等一切信息都掌握在自己手上,适合团队内部协作开发,你总不可能把团队内部的智慧总放在别人的服务器上吧?简单来说可把 GitLab 看作个人版的 GitHub。
Gitlab安装
yml
version: '3.9'
services:
gitlab:
image: gitlab/gitlab-ce:14.0.5-ce.0
container_name: gitlab
# restart: always
privileged: true
hostname: gitlab
environment:
TZ: 'Asia/Shanghai'
GITLAB_OMNIBUS_CONFIG: |
puma['worker_timeout'] = 60
puma['worker_processes'] = 2
postgresql['shared_buffers'] = "256MB" # recommend value is 1/4 of total RAM, up to 14GB.
prometheus_monitoring['enable'] = false
sidekiq['concurrency'] = 2
ports:
- '8089:80'
- '8443:443'
- '8022:22'
volumes:
- ./config:/etc/gitlab
- ./data:/var/opt/gitlab
- ./logs:/var/log/gitlab
deploy:
resources:
limits:
cpus: '0.60'
memory: '2g'
# reservations:
# cpus: '0.25'
# memory: '20m'
shm_size: '256m'
networks:
default:
external: true
name: global
默认root密码
cat /etc/gitlab/initial_root_password
禁用注册功能
Gitlab添加组、创建用户、创建项目
创建组
使用管理员 root 创建组,一个组里面可以有多个项目分支,可以将开发添加到组里面进行设置权限, 不同的组就是公司不同的开发项目或者服务模块,不同的组添加不同的开发即可实现对开发设置权限的 管理
创建用户
创建用户的时候,可以选择 Regular 或 Admin 类型。 创建完用户后,立即修改密码
将用户添加到组中
选择某个用户组,进行 Members 管理组的成员 Gitlab 用户在组里面有 5 种不同权限:
Guest
可以创建issue、发表评论,不能读写版本库
Reporter
可以克隆代码,不能提交,QA、PM可以赋予这个权限
Developer
可以克隆代码、开发、提交、push,普通开发可以赋予这个权限
Maintainer
可以创建项目、添加tag、保护分支、添加项目成员、编辑项目,核心开发可以赋予这个权限
Owner
可以设置项目访问权限 - Visibility Level、删除项目、迁移项目、管理组成员,开发组组长可以赋予这个权限 Visibility Level、删除项目、迁移项目、管理组成员,开发组组长可以赋予这个权限
在用户组中创建项目
以刚才创建的新用户身份登录到 Gitlab,然后在用户组中创建新的项目