下载地址:https://packages.gitlab.com/gitlab/gitlab-ce/
1 2 3 4 5 6 7 8 9 10 11 |
#安装依赖 yum install -y curl policycoreutils-python openssh-server #开机启动 systemctl enable sshd #启动sshd服务 systemctl start sshd #防火墙开启支持http firewall-cmd --permanent --add-service=http #重启防火墙 systemctl reload firewalld |
下载并安装gitlab
1 2 3 |
curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash sudo yum install gitlab-ce-12.6.2-ce.0.el7.x86_64 |
目录结构
1 2 3 4 5 |
/opt/gitlab 主目录 /etc/gitlab 配置文件目录 /var/log/gitlab 日志目录 /var/opt/gitlab/backups 默认的备份目录 /var/opt/gitlab/git-data 默认仓库目录(即数据存储目录) |
修改配置文件(外显地址,端口,默认备份目录)
1 2 3 4 5 6 |
vim /etc/gitlab/gitlab.rb #注意啊这个url 不能是ip 必须是http://gitlab.example.com/这种url否则启动报错 external_url 'xxxxxxx' #对外显示的地址URL(一般只改下这个就可以用了) nginx['listen_port'] = 8099 #对外监听的端口 gitlab_rails['backup_path'] = "/var/opt/gitlab/backups" #备份目录 |
让配置生效
1 |
gitlab-ctl reconfigure |
常用命令
1 2 3 4 5 6 7 8 9 10 11 12 13 |
//启动 sudo gitlab-ctl start //查看运行状态 sudo gitlab-ctl status //停止 sudo gitlab-ctl stop //查看错误信息 sudo gitlab-ctl tail //保存配置 sudo gitlab-ctl reconfigure 开机自启动 systemctl enable gitlab-runsvdir.service |
修改git仓库存储路径
1 2 |
Gitlab默认安装时,默认的仓库存储路径在 /var/opt/gitlab/git-data目录下 仓库存储在子目录repositories里面,可以通过修改/etc/gitlab/gitlab.rb文件中git_data_dirs参数来自定义父目录 |
如果在有数据的情况下(gitlab已经使用了一段时间,默认目录磁盘满了,现在要迁移怎么办?)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
解决办法: 1.在没有数据的情况下 停止GitLab服务,防止用户写入数据 gitlab-ctl stop 使其修改配置生效 gitlab-ctl reconfigure 2.存在数据的情况下 数据迁移前,停止服务,防止用户写入数据 gitlab-ctl stop 执行仓库数据迁移 rsync -av /var/opt/gitlab/git-data/repositories /mnt/nfs-01/git-data 使其配置生效 gitlab-ctl reconfigure 开启服务,验证一下是否能通过web访问 gitlab-ctl start |
查看主件状态
1 |
gitlab-ctl status |
取消自注册功能(网页)
1 2 3 |
Admin Area => Settings => Sign-up restrictions => Expand => 取消勾选Sign-up enabled => Save changes |
gitlab 常用命令
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
gitlab-ctl start #启动全部服务 gitlab-ctl restart #重启全部服务 gitlab-ctl stop #停止全部服务 gitlab-ctl restart nginx #重启单个服务 gitlab-ctl status #查看全部组件的状态 gitlab-ctl show-config #验证配置文件 gitlab-ctl uninstall #删除gitlab(保留数据) gitlab-ctl cleanse #删除所有数据,重新开始 gitlab-ctl tail <svc_name> #查看服务的日志 gitlab-rails console production #进入控制台 ,可以修改root 的密码 gitlab-rake gitlab:backup:create #gitlab备份 备份: #gitlab-rake gitlab:backup:create 备份完后文件会在backup文件夹下 # cd /var/opt/gitlab/backups # ls 1597188417_2020_08_11_12.10.5_gitlab_backup.tar |
用户登录密码
1 2 3 |
如果是编译安装的默认管理员账号密码是:admin@local.host|5iveL!fe, 如果是 rpm包安装则管理员账号密码是root|5iveL!fe 一般登录后会提醒你重设密码。 |
在浏览器访问(访问你的gitlab机器ip或者你设置的对外域名)
第一次访问会让你设置root的登录密码(登录完成后如下)
页面功能解析
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
权限说明 #1 Project (项目)权限 Private(私有) :只有被赋予权限的用户可见 Internal(内部) :登录用户可以下载 Public(公开) :所有人可以下载 #2 角色权限 Guest(访客) - 创建项目、写留言薄Reporter(报告人)- 创建项目、写留言薄、拉项目、下载项目、创建代码片段 Reporter (报告者) -写留言薄、更新代码、下载项目、创建代码片段、创建issue Developer(开发者)- 创建项目、写留言薄、拉项目、下载项目、创建代码片段、创建合并请求、创建新分支、推送不受保护的分支、移除不受保护的分支 、创建标签、编写wiki Master(管理者)- 创建项目、写留言薄、拉项目、下载项目、创建代码片段、创建合并请求、创建新分支、推送不受保护的分支、移除不受保护的分支 、创建标签、编写wiki、增加团队成员、推送受保护的分支、移除受保护的分支、编辑项目、添加部署密钥、配置项目钩子 Owner(所有者)- 创建项目、写留言薄、拉项目、下载项目、创建代码片段、创建合并请求、创建新分支、推送不受保护的分支、移除不受保护的分支 、创建标签、编写wiki、增加团队成员、推送受保护的分支、移除受保护的分支、编辑项目、添加部署密钥、配置项目钩子、开关公有模式、将项目转移到另一个名称空间、删除项目 Note: In GitLab 11.0, the Master role was renamed to Maintainer. #3 分支保护 如果尚未创建,它将阻止所有人(具有维护者权限的用户除外)创建它 它可以防止来自除具有维护者权限的用户之外的所有人的推送 它防止任何人强行推到分支上 它防止任何人删除分支 注意:GitLab管理员可以推送到受保护的分支。 |
关于数据恢复
1 2 3 4 5 6 7 8 9 10 11 |
数据恢复和还原(数据恢复最好使用与原gitlab相同的版本) 步骤1: 停止服务 gitlab-ctl stop unicorn gitlab-ctl stop sidekiq 步骤2: 执行恢复 gitlab-rake gitlab:backup:restore BACKUP=1458217074 BACKUP后面跟的是备份文件的时间戳,比如恢复备份文件1458217074_gitlab_backup.tar 注:需要恢复的文件必须放在gitlab的备份目录下 步骤3: 启动GitLab gitlab-ctl start/restart |
gitlab最好放一台单独服务器搭建,因为他需要占用很多端口,比如 80
这张图是未开启gitlab前
这张图是开启后
gitlab所有服务
所以最好是把他单独装机
gitlab忘记root密码(通过控制台修改密码)
1 2 3 4 5 6 |
sudo gitlab-rails console user = User.where(id: 1).first user.password = 'new password' user.password_confirmation = 'new password' user.save! |
- 本文固定链接: https://www.yoyoask.com/?p=1653
- 转载请注明: shooter 于 SHOOTER 发表