Gitlab代码托管服务器安装及基本使用

Gitlab简介

官网:The One DevOps Platform | GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的 web服务。

GitLab和GitHub一样属于第三方基于Git开发的作品,免费且开源(基于MIT协议),与Github类似, 可以注册用户,任意提交你的代码,添加SSHKey等等。不同的是,GitLab是可以部署到自己的服务器 上,数据库等一切信息都掌握在自己手上,适合团队内部协作开发,你总不可能把团队内部的智慧总放 在别人的服务器上吧?简单来说可把GitLab看作个人版的GitHub。

Gitlab安装

清华大学开学镜像站:Index of /gitlab-ce/yum/el7/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

 1. 安装相关依赖

yum -y install policycoreutils openssh-server openssh-clients postfix

2. 启动ssh服务&设置为开机启动

systemctl enable sshd && sudo systemctl start sshd

3. 设置postfix开机自启,并启动,postfix支持gitlab发信功能

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

4. 开放ssh以及http服务,然后重新加载防火墙列表

firewall-cmd --add-service=ssh --permanent

firewall-cmd --add-service=http --permanent

firewall-cmd --reload

linux出现 FirewallD is not running解决方案

报错描述:FirewallD is not running

执行 systemctl status firewalld 查看防火墙状态 

需要开启防火墙即可

开启防火墙:systemctl start firewalld

关闭防火墙:systemctl stop firewalld

查看防火墙状态:systemctl status firewalld

5. 下载gitlab包,并且安装

方式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

Gitlab代码托管服务器安装及基本使用_第1张图片

6. 修改gitlab配置

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服务

7. 重载配置及启动gitlab

gitlab-ctl reconfigure

gitlab-ctl restart

使用gitlab-ctl tail 命令可以查看启动报错问题

8. 把端口添加到防火墙

firewall-cmd --zone=public --add-port=82/tcp --permanent

firewall-cmd --reload

使用

启动成功后,首次登录显示为密码设置界面,设置管理员密码,

管理员账号默认username是root
设置完成之后,刷新即可使用root账号登录,登陆后会进入欢迎界面。 

Gitlab代码托管服务器安装及基本使用_第2张图片

Gitlab代码托管服务器安装及基本使用_第3张图片

Gitlab代码托管服务器安装及基本使用_第4张图片

更新管理员

Gitlab代码托管服务器安装及基本使用_第5张图片

Gitlab代码托管服务器安装及基本使用_第6张图片

查看管理员面板

Admin Area的主面板显示整体数据,左侧导航菜单可以查看具体的分类信息

Gitlab代码托管服务器安装及基本使用_第7张图片

Gitlab代码托管服务器安装及基本使用_第8张图片

Gitlab添加组、创建用户、创建项目

方式1:管理员直接创建用户

Admin Area ---》New user,根据规则和需要分别设置Account、Access部分,Password部分可以由本人进行设置。

Gitlab代码托管服务器安装及基本使用_第9张图片

Gitlab代码托管服务器安装及基本使用_第10张图片

Gitlab代码托管服务器安装及基本使用_第11张图片

查看邮箱,点击邮件中的链接,设置密码并登陆

Gitlab代码托管服务器安装及基本使用_第12张图片

Gitlab代码托管服务器安装及基本使用_第13张图片

方式2:用户直接注册新的账户

在GitLab登录界面,直接点击“Register”,添加用户相关信息。

Gitlab代码托管服务器安装及基本使用_第14张图片

Gitlab代码托管服务器安装及基本使用_第15张图片

创建组

使用管理员 root 创建组,一个组里面可以有多个项目分支,可以将开发添加到组里面进行设置权限, 不同的组就是公司不同的开发项目或者服务模块,不同的组添加不同的开发即可实现对开发设置权限的 管理

Gitlab代码托管服务器安装及基本使用_第16张图片

Gitlab代码托管服务器安装及基本使用_第17张图片

  • 选择私有之后,只有组内有权限的成员才能操作。
  • 公开则所有成员都可访问

 然后点击保存即可。这样我们一个组就创建好了。

将新建的用户加入到组内

Gitlab代码托管服务器安装及基本使用_第18张图片

Gitlab代码托管服务器安装及基本使用_第19张图片

GitLab用户在组里有5种不同的权限

Guest:可以创建issue,发表评论,不能读写版本库
Reporter:可以克隆代码,不能提交,QA、PM可以赋予这个权限
Developer:可以克隆代码,开发,提交,push,普通开发可以授予该权限
Maintainer:可以创建项目,添加tag,保护分支,添加项目成员,编辑项目,核心开发可以授予该权限
Owner:可以设置值项目访问权限,Visibility Level,删除项目,迁移项目,管理组成员,开发组组长可以授予该权限
 

创建项目

Gitlab代码托管服务器安装及基本使用_第20张图片

GitLab-ctl常用命令

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服务

你可能感兴趣的:(gitlab,github,git)