前言
好久没有更新过博客了,最近的工作确实比较忙(可以说忙的要死),前几个月也在搞黑马的在线教育,基本上已经差不多完成了,在线教育项目的文章也完成了大半,今天刚好有时间做个gitlab
安装记录。
最近公司换了新的代码服务器,之前服务器是在亚马逊上,价格相对贵点,为了节约成本这次换到了国内的云服务器;公司把Git
私服也换了,之前用的gitblit
,此次更新到了gitlab-ce(社区版)
;特此记录下安装、部署的过程。
相对来说gitlab
的功能以及界面等,都要比gitblit
好一些;但是就安装来说,gitlab
的安装比gitblit
的安装要复杂很多。
GitLab介绍
GitLab
是由GitLab Inc.
开发,使用MIT许可证
的基于网络的Git仓
库管理工具,且具有wiki
和issue
跟踪功能。 GitLab
由乌克兰程序员Dmitriy Zaporozhets
和 Valery Sizov
开发,它由Ruby
写成。后来,一些部分用Go
语言重写。
主要功能
- 仓库管理
- 公仓和私仓 (权限分配)
- 团队和群组管理
- CI/CD工具
- GitLab工作流
- ……
安装环境介绍
服务器
操作系统 | 内存 | 硬盘 | IP |
---|---|---|---|
CentOS 7 | 4G | 20G | 192.168.136.201 |
该服务器为我本地虚拟机,需要保证服务器能够正常连接外网。
安装
安装依赖(必要工作)
安装必要的依赖,无论Omnibus
和Docker
安装都需要。
1 | 依赖安装 |
Omnibus安装(yum)
获取安装包
1 | 获取社区版 |
安装gitlab
1 | 实际路径以你的服务器IP为准,也可以直接使用域名 |
如果此步不能下载的可以使用Plan B
。
Plan B(推荐)
使用清华大学的镜像源
使用vi
或者vim
命令新建文件:/etc/yum.repos.d/gitlab_gitlab-ce.repo
若该文件已存在,将内容全部替换为下方内容:
1 | [gitlab-ce] |
执行安装命令
1 | sudo EXTERNAL_URL="http://192.168.136.201" yum install -y gitlab-ce |
此时下载速度应该就会快很多,但是安装仍需要一些时间,请耐心等待。
看到这个狐狸标志说明安装成功了。
启动GitLab
1 | sudo gitlab-ctl reconfigure |
访问测试
访问:http://192.168.136.201/
到此使用Omnibus
安装完成。
Docker安装
Docker
的安装、运行,就不在这里列出了,不会的兄弟可以百度一下哦,比较简单。
拉取镜像
1 | 拉取镜像(可能需要一些时间,耐心等待) |
如果速度实在太慢,可以给Docker
挂阿里云的镜像加速器,具体操作,可以百度一下。
镜像还是蛮大的,建议挂镜像加速器。
运行容器
1 | 先创建目录用于挂载容器数据 |
查看启动日志:docker logs gitlab-ce
排错
cannot create regular file ‘/etc/gitlab/gitlab.rb’: Permission denied
1
2
3
4
5
6
7
8修改selinux配置
vim /etc/selinux/config
将SELINUX=enforcing改为SELINUX=disabled,修改后需要重启
reboot
重启成功后查看selinux状态
sestatus
执行命令得到一下结果
SELinux status: disabled重启容器。
各种端口占用问题
建议使用全新的机器安装部署
gitlab
,否则就更换映射端口吧。
访问测试
访问:http://192.168.136.201/
测试创建了账号和项目,没有问题。