1、下载Gitlib社区版镜像
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-13.1.2-ce.0.el7.x86_64.rpm
2、安装rpm包
rpm -ivh gitlab-ce-13.1.2-ce.0.el7.x86_64.rpm
3、修改gitlab配置文件,指定服务器ip和自定义端口
输入命令编辑配置文件:vim /etc/gitlab/gitlab.rb
#修改访问URL
#格式:external_url 'http://ip:端口'
external_url 'http://888:8081'
#配置时区(可以不用配置)
gitlab_rails['time_zone'] = 'Asia/Shanghai'
4、防火墙开放端口(如果没开防火墙可以跳过)
# 开放上面配置的external_url中的 8081端口
firewall-cmd --zone=public --add-port=8081/tcp --permanent
5、重启防火墙
firewall-cmd --reload
6、查看端口号是否开启
firewall-cmd --query-port=8081/tcp
7、重置Gitlab(让修改后的配置生效)
gitlab-ctl reconfigure
8、重启Gitlib,提示 "ok: run:"表示启动成功
gitlab-ctl restart
9、Gitlib服务端常用命令
gitlab-ctl start # 启动所有 gitlab 组件;
gitlab-ctl stop # 停止所有 gitlab 组件;
gitlab-ctl restart # 重启所有 gitlab 组件;
gitlab-ctl status # 查看服务状态;
gitlab-ctl reconfigure # 刷新配置文件;
vim /etc/gitlab/gitlab.rb # 修改默认的配置文件;
gitlab-rake gitlab:check SANITIZE=true --trace # 检查gitlab;
gitlab-ctl tail # 查看日志;
10、 访问Gitlab页面
如果没有域名,直接输入服务器ip和指定端口进行访问
初始管理员账户: root
注:首次访问时,会自动进入管理员密码设置页面,重新设置下密码,管理员默认账户为root
登录后可进行语言设置:
Settings -> Preferences -> Localization -> Language -> 简体中文
11、 502错误
如果确定上面配置步骤没问题,但是访问GitLab还报502错误,这是虚拟机内存不够导致的,首先保证Gitlab可用运行内存大于4G,端口未被占用,否则跑不起来
12、添加用户
当管理员在Gitlab新建用户后,系统会自动发送邮件到用户邮箱,用户通过点击邮件链接可自己配置密码;
ps: 创建用户后,用户将收到邮件,邮件可能被拉黑,请到垃圾邮箱中查阅;
Gitlab权限管理
Gitlab用户在组中有五种权限:Guest、Reporter、Developer、Master(Maintainer)、Owner
Guest:可以创建issue、发表评论,不能读写版本库
Reporter:可以克隆代码,不能提交,QA、PM可以赋予这个权限
Developer:可以克隆代码、开发、提交、push,RD可以赋予这个权限
Master:可以创建项目、添加tag、保护分支、添加项目成员、编辑项目,核心RD负责人可以赋予这个权限
Owner:可以设置项目访问权限 - Visibility Level、删除项目、迁移项目、管理组成员,开发组leader可以赋予这个权限
Gitlab中的组和项目有三种访问权限:Private、Internal、Public
Private:只有组成员才能看到
Internal:只要登录的用户就能看到
Public:所有人都能看到
开源项目和组设置的是Internal
将项目上传到Git管理
1、进入项目根目录,鼠标右键,选择Git Bash Here
2、输入命令
git init
3、将当前目录下所有文件纳入git版本控制
git add .
4、将代码提交到本地仓库
git commit -m "注释语句"
5、在Gitlib上创建项目,点击clone复制http地址
6、将远程仓库代码拉到本地(远程仓库没有文件,可以跳过这一步)
git pull http://888/demo2.git master --allow-unrelated-histories
注意--后面表示允许不相干的两个仓库合并,因为我们之前两个仓库是完全独立的,所以直接是没办法pull下来,需要加上后面参数才行
7、将本地仓库和远程仓库关联
git remote add origin http://888/demo2.git
8、将代码推送到远程仓库
git push -u origin master