官网:The One DevOps Platform | GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的 web服务。
GitLab和GitHub一样属于第三方基于Git开发的作品,免费且开源(基于MIT协议),与Github类似, 可以注册用户,任意提交你的代码,添加SSHKey等等。不同的是,GitLab是可以部署到自己的服务器 上,数据库等一切信息都掌握在自己手上,适合团队内部协作开发,你总不可能把团队内部的智慧总放 在别人的服务器上吧?简单来说可把GitLab看作个人版的GitHub。
清华大学开学镜像站:Index of /gitlab-ce/yum/el7/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror
yum -y install policycoreutils openssh-server openssh-clients postfix
systemctl enable sshd && sudo systemctl start sshd
systemctl enable postfix && systemctl start postfix
Job for postfix.service failed because the control process exited with error code. See "systemctl status postfix.service" and "journalctl -xe" for details.
这是因为防火墙或者配置文件导致,无法启动的邮件服务!!
解决方案:
1、首先关闭防火墙!
#systemctl stop firewalld && systemctl mask firewalld
2、修改main.cf配置文件设置
#cat /etc/postfix/main.cf //查看main.cf配置文件设置 #vim /etc/postfix/main.cf //更改更改:
inet_protocols = ipv4 inet_interfaces = all
firewall-cmd --add-service=ssh --permanent
firewall-cmd --add-service=http --permanent
firewall-cmd --reload
报错描述:FirewallD is not running
执行 systemctl status firewalld 查看防火墙状态
需要开启防火墙即可
开启防火墙:systemctl start firewalld
关闭防火墙:systemctl stop firewalld
查看防火墙状态:systemctl status firewalld
方式1(清华大学镜像源安装):
在线下载安装包:
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-12.5.0-ce.0.el7.x86_64.rpm
安装:
rpm -i gitlab-ce-12.5.0-ce.0.el7.x86_64.rpm
方式2(yum安装):
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
sudo yum install -y gitlab-ce
vi /etc/gitlab/gitlab.rb
修改gitlab访问地址和端口,默认为80
vi /etc/gitlab/gitlab.rb
external_url 'http://自定义IP:自定义端口'
注意:修改自定义后,如果希望克隆地址的端口和访问gitlab的web服务端口不同,可以修改nginx的配置项
nginx['listen_port'] = 自定义gitlab的web服务访问端口
示例:
external_url 'http://192.168.1.29:7902'
nginx['listen_port'] = 80
则效果是可以使用80端口访问gitlab的web服务
gitlab-ctl reconfigure
gitlab-ctl restart
使用gitlab-ctl tail 命令可以查看启动报错问题
firewall-cmd --zone=public --add-port=82/tcp --permanent
firewall-cmd --reload
启动成功后,首次登录显示为密码设置界面,设置管理员密码,
管理员账号默认username是root
设置完成之后,刷新即可使用root账号登录,登陆后会进入欢迎界面。
Admin Area的主面板显示整体数据,左侧导航菜单可以查看具体的分类信息
Admin Area ---》New user,根据规则和需要分别设置Account、Access部分,Password部分可以由本人进行设置。
查看邮箱,点击邮件中的链接,设置密码并登陆
在GitLab登录界面,直接点击“Register”,添加用户相关信息。
使用管理员 root 创建组,一个组里面可以有多个项目分支,可以将开发添加到组里面进行设置权限, 不同的组就是公司不同的开发项目或者服务模块,不同的组添加不同的开发即可实现对开发设置权限的 管理
然后点击保存即可。这样我们一个组就创建好了。
Guest:可以创建issue,发表评论,不能读写版本库
Reporter:可以克隆代码,不能提交,QA、PM可以赋予这个权限
Developer:可以克隆代码,开发,提交,push,普通开发可以授予该权限
Maintainer:可以创建项目,添加tag,保护分支,添加项目成员,编辑项目,核心开发可以授予该权限
Owner:可以设置值项目访问权限,Visibility Level,删除项目,迁移项目,管理组成员,开发组组长可以授予该权限
gitlab-ctl reconfigure # 重载配置
gitlab-ctl check-config # 检查配置并启动
gitlab-ctl diff-config # 将用户配置与包可用配置进行比较
gitlab-ctl status # 查看所有启动组件的进程和状态
gitlab-ctl service-list # 查看所有服务
gitlab-ctl stop # 停止GitLab服务
gitlab-ctl start # 启动GitLab服务
gitlab-ctl restart # 重启GitLab服务
gitlab-ctl once # 如果GitLab服务已停止则启动服务,如果GitLab服务已启动则重启GitLab服务