文章目录
- 1. 代码版本管理工具GitLab
- 2. 安装GitLab CE
- 1.Gitlab结构及组件
- 2. GitLab安装
1. 代码版本管理工具GitLab
GitLab目前有开源的CE(Community Edition),也有收费的商业EE(Enterprise Edition)。所有版本都可以基于Git对项目源码进行存储和管理,但是收费版本会提供更强大的功能,比如,与第三方服务的集成、代码提交规则制订、代码审核扫描等。
2. 安装GitLab CE
1.Gitlab结构及组件
- GitLab Workhorse
GitLab处理的内容可以存储在GitLab Workhorse中,也可以放在外置的硬盘中或者一些复杂的文件系统上,比如NFS(Network File System,网络文件系统)。 - Nginx
就好像前台,nginx用户会首先访问前台,然后前台把请求发送给办公司中具体的办公人员。 - PostgreSQL(数据库)
就好像文件柜,数据库包含如下信息:
- 仓库中的所有货物(元数据、问题、合并请求等)
- 前台记录的所有访问用户(权限数据)
- Redis
就好像通信中心,Redis包含所有工作人员的任务列表 - Sidekiq
主要负责往外发送邮件的工作人员,邮件任务是从上面的Redis任务列表中获取的 - Unicorn(GitLab Rails)
从Redis任务列表中获取任务,处理各种任务的工作人员,大致的任务如下:
- 通过Redis中存储的用户会话信息,对用户进行验证
- 从代码仓库里取出内容,或者在里面移动、修改内容,就是日常一些代码的操作
- GitLab Shell
从SSH而不是前台(HTTP)接受命令的工作人员 - Gitaly
Gitaly提供高层次的Git RPC服务已访问Git仓库,GitLab CE9.4以后变成一个必要组件,目前仍处在研发中,后期GitLab希望它能用于处理GitLab发出的所有Git调用。
2. GitLab安装
1.安装准备
- 安装OpenSSH服务器和客户端。
- 安装并且启动postfix邮件服务器,并且设置为开机自启动(用于后面配置SMTP和邮件发送)。
- 使用lokkit命令设置防火墙,打开HTTP和SSH的访问权限。
sudo yum install -y curl policycoreutils-python openssh-server openssh-clients postfix cronie lokkit
下载安装完成后如图所示:
# 设置SSH开机自启动
sudo systemctl enable sshd
# 启动SSH服务
sudo systemctl start sshd
# 启动postfix服务
sudo systemctl start postfix
# 设置postfix开机自启动
sudo systemctl enable postfix
sudo chkconfig postfix on
#lokkit命令打开HTTP和SSH的访问权限
sudo lokkit -s http -s ssh
在使用lokkit命令设置防火墙时,打开HTTP和SSH的访问权限时,若原系统中防火墙处于激活状态,需要先关闭防火墙,命令如下:
sudo systemctl stop firewalld
然后继续使用lokkit命令打开对应访问权限
2. 下载EL6完整版rpm安装包
下载地址:
官方源地址:https://about.gitlab.com/downloads/#centos6
清华大学镜像源:https://mirror.tuna.tsinghua.edu.cn/help/gitlab-ce
以下是通过下载rpm安装包的方式,进行本地化安装,安装命令如下:
# 下载rpm安装包
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-13.3.5-ce.0.el7.x86_64.rpm
# 进行GitLab安装 -i:安装 -v:可视化安装 -h:安装的时候显示进度
rpm -ivh gitlab-ce-13.3.5-ce.0.el7.x86_64.rpm
下载安装完成后,提示需要配置修改gitlab.rb文件的external_url参数值,具体如下:
vi /etc/gitlab/gitlab.rb
- 配置external_url,为GitLab对外提供一个访问链接,包括邮件中展示地址和拉取代码的URL等。
- 修改GitLab的服务端口,若GitLab和Jenkins安装在同一台虚拟机上时,Jenkins的默认端口是8080,而GitLab的默认端口也是8080,为了避免端口冲突,需要修改一下GitLab的默认端口,从8080改为8081即可。
修改完配置文件后,执行命令使修改后的配置立即生效
sudo gitlab-ctl reconfigure
gitlab-ctl reconfigure是Gitlab自带的用于重载配置的命令,在首次运行时,会初始化所有的配置,一般需要一些时间进行执行。
执行完成后如图所示:
查看GitLab状态
sudo gitlab-ctl status
查看所有启动的子组件的进程和状态
启动、停止、重启GitLab服务
sudo gitlab-ctl start
sudo gitlab-ctl stop
sudo gitlab-ctl restart
- 浏览器访问GitLab页面
注意:使用浏览器访问GitLab时,虚拟机中安装的GitLab的防火墙需要处于关闭状态
systemctl stop firewalld
使用http://IP:端口,进行访问
在以上页面设置root账号的密码,设置完成后,跳转到登陆页面,直接使用root账号密码登陆即可
登陆成功后,显示的主页有创建项目、组和用户,及GitLab配置
到此便完成了GitLab的安装及访问。可正常使用GitLab创建项目、用户及其他一系列操作。