Linux安装GitLab

本文介绍了在CentOS7系统上安装GitLab的两种方法,通过YUM和RPM包进行安装,并详细阐述了安装过程中的配置步骤,包括修改默认端口和解决502错误的问题。

一、摘要        

        公司或组织经常用Gitlab做为代码仓库,这里我也安装下Gitlab,为后面CI/CD集成打下基础,官方安装地址:https://about.gitlab.com/install/#centos-7。不过官网很多人说比较坑,这里就不用官方方法安装了。

二、安装步骤

2.1 yum安装

        2.1.1 配置yum源

        运行命令:vi /etc/yum.repos.d/gitlab-ce.repo

        复制如下内容到gitlab-ce.repo文件中:

[gitlab-ce]
name=Gitlab CE Repository
baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever/
gpgcheck=0
enabled=1

        按esc,再按:wq保存文件。

        2.2.2 更新yum缓存

        运行命令:sudo yum makecache

        这一步会将yum源里配置的docker-ce安装包下载下来,这里可能会报错,也可能会卡住,只要换个能连接的网速较快的gitlab-ce的yum地址即可。

        2.2.3 安装GitLab

        运行命令:yum install gitlab-ce

                          gitlab-ctl reconfigure

2.2 rpm安装

        这里采用rpm离线安装方式安装。

        2.2.1 下载rpm安装包

        下载地址为:https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/

        这里选取版本:gitlab-ce-12.3.5-ce.0.el7.x86_64.rpm,理论应该是越新越好,毕竟越新修复bug多,兼容性也更强,功能更强大,但这里和公司目前的gitlab保持一致,用12.3.5版本。

        下载好后,将rpm包复制到linux的/opt/gitlab目录下

        2.2.2 安装gitlab-ce依赖

        gitlab运行需要依赖policycoreutils-python和openssh-server,所以需要安装并设置自动启动 ,运行命令如下:

        yum -y install policycoreutils-python openssh-server

        systemctl enable sshd

        systemctl start sshd

        2.2.3 安装gitlab-ce

        运行命令如下:

        cd /opt/gitlab

        rpm -Uvh gitlab-ce-12.3.5-ce.0.el7.x86_64.rpm

        gitlab-ctl reconfigure

三、配置GitLab

3.1 配置文件目录

        gitlab默认安装后各目录如下:

gitlab组件日志路径:/var/log/gitlab
gitlab配置路径:/etc/gitlab/  路径下有gitlab.rb配置文件
应用代码和组件依赖程序:/opt/gitlab
各个组件存储路径: /var/opt/gitlab/
仓库默认存储路径   /var/opt/gitlab/git-data/repositories
版本文件备份路径:/var/opt/gitlab/backups/
nginx安装路径:/var/opt/gitlab/nginx/
redis安装路径:/var/opt/gitlab/redis

3.2 修改配置

        3.2.1 修改默认端口

        运行命令:vi /etc/gitlab/gitlab.rb,将external_url的地址和端口写成你想要的IP和端口号,如下:        

四、启动

        启动:gitlab-ctl start(若改了配置需要先运行:gitlab-ctl reconfigure)

        重启:gitlab-ctl restart

        关闭:gitlab-ctl stop

        访问 配置的ip和端口即可。默认配置端口是80,第一次登录需要直接改密码:

 

        

五、问题排查

问题一:502   Whoops, GitLab is taking too much time to respond.

这里超时了,即无法获取git服务数据,这里可能是哪个服务因为端口冲突没起来。最容易冲突的是puma或unicorn,后期版本貌似是默认只启用puma。它的端口默认是8080。

gitlab-ctl stop执行后还有别的服务占用8080,如下:

这里就改puma的端口:

 再运行:gitlab-ctl stop、gitlab-ctl reconfigure、gitlab-ctl start

启动后要等个1分钟甚至更久,再刷新页面就可以看到登录页了。当然,也可以用gitlab-ctl tail puma看日志或者改动的8081端口有服务占用则就可以刷新页面了。

         

<think>我们正在回答用户的问题:"我想查找在Linux系统上安装gitLab的方法"。根据提供的引用内容,我们可以总结出在Linux安装GitLab的几种常见方法。由于用户没有指定特定的Linux发行版,我将涵盖CentOS/RHEL和Ubuntu两种主流系统的安装方法,并尽量详细说明步骤。 安装前的准备: 1. 确保系统满足最低要求:建议至少2核CPU和4GB内存(引用[1]提到官方要求2G以上,但推荐4G以上以避免卡顿)。 2. 确保系统已经更新到最新状态。 方法一:使用官方脚本安装(适用于CentOS/RHEL和Ubuntu) 这是最简便的方法,官方提供了安装脚本来自动配置仓库并安装。 步骤: 1. 下载并运行官方提供的安装脚本,该脚本会自动添加相应的仓库。 对于CentOS/RHEL(引用[3]和引用[5]): ```bash curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash ``` 对于Ubuntu(引用[2]和引用[4]): ```bash curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash ``` 2. 安装GitLab社区版(CE): 注意:在安装时需要设置外部访问的URL(引用[4]中强调)。你可以将`EXTERNAL_URL`替换为你服务器的域名或IP地址。 对于CentOS/RHEL: ```bash sudo EXTERNAL_URL="http://你的域名或服务器IP" yum install -y gitlab-ce ``` 对于Ubuntu: ```bash sudo EXTERNAL_URL="http://你的域名或服务器IP" apt install -y gitlab-ce ``` 方法二:手动下载安装安装(适用于无法直接使用脚本或需要离线安装的情况) 1. 手动下载安装包: 访问GitLab的包仓库(例如清华镜像站,如引用[1]中提到的)或官方仓库(引用[3]中提到)下载对应版本的安装包。 2. 安装: 对于CentOS/RHEL(.rpm包): ```bash rpm -i gitlab-ce-XXX.rpm # XXX为版本号 ``` 对于Ubuntu(.deb包): ```bash dpkg -i gitlab-ce_XXX.deb # XXX为版本号 ``` 方法三:通过配置镜像源安装(以清华大学开源软件镜像站为例,适用于CentOS/RHEL,如引用[1]) 1. 创建repo文件(CentOS/RHEL): ```bash vim /etc/yum.repos.d/gitlab-ce.repo ``` 添加以下内容: ``` [gitlab-ce] name=Gitlab CE Repository baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever/ gpgcheck=0 enabled=1 ``` 2. 更新缓存并安装: ```bash yum makecache yum install gitlab-ce # 安装最新版 # 或指定版本:yum install gitlab-ce-x.x.x ``` 安装后的初始化: 无论哪种方法,安装完成后都需要进行初始化配置(引用[1]、[2]、[3]都提到): ```bash sudo gitlab-ctl reconfigure ``` 这个过程可能会持续几分钟。 访问GitLab: 在浏览器中输入你设置的`EXTERNAL_URL`(例如http://你的服务器IP),即可访问GitLab。首次访问会要求设置root用户的密码。 注意事项: 1. 安装过程中如果遇到内存不足的问题,可以创建交换分区(swap)来缓解。 2. 安装完成后,可以使用以下命令管理GitLab服务: ```bash sudo gitlab-ctl start # 启动 sudo gitlab-ctl stop # 停止 sudo gitlab-ctl restart # 重启 ``` 引用说明: 我们在回答中参考了用户提供的引用内容,特别是引用[1]中关于CentOS安装的详细步骤和引用[4]中设置EXTERNAL_URL的关键点。 现在,我们按照要求生成相关问题: </think>### Linux系统安装GitLab方法 以下是基于CentOS/Ubuntu系统的GitLab安装方法总结,涵盖官方脚本、手动安装两种主流方式: --- #### 一、官方脚本安装(推荐) ##### 1. 添加官方仓库 ```bash # CentOS/RHEL curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash # Ubuntu curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash ``` *脚本会自动配置源,出现 `Successfully added repository` 表示成功[^4][^5]* ##### 2. 安装GitLab社区版 设置访问URL并安装: ```bash # CentOS/Ubuntu通用 sudo EXTERNAL_URL="http://你的服务器IP或域名" yum install -y gitlab-ce # CentOS sudo EXTERNAL_URL="http://你的服务器IP或域名" apt install -y gitlab-ce # Ubuntu ``` *`EXTERNAL_URL` 必须是服务器可访问的地址[^4]* --- #### 二、手动下载安装(适用离线环境) ##### 1. 下载安装包 ```bash # CentOS (.rpm包) curl -LJO https://packages.gitlab.com/gitlab/gitlab-ce/packages/el/7/gitlab-ce-XXX.rpm/download # Ubuntu (.deb包) wget https://packages.gitlab.com/gitlab/gitlab-ce/ubuntu/pool/trusty/main/g/gitlab-ce/gitlab-ce_XXX.deb ``` *替换 `XXX` 为具体版本号[^2][^3]* ##### 2. 安装 ```bash # CentOS rpm -i gitlab-ce-XXX.rpm # Ubuntu dpkg -i gitlab-ce_XXX.deb ``` --- #### 三、初始化与启动 ```bash # 初始化配置(首次需5-10分钟) sudo gitlab-ctl reconfigure # 启动服务 sudo gitlab-ctl start # 检查状态 sudo gitlab-ctl status ``` *访问 `http://你的服务器IP` 进入设置界面[^1]* --- #### 四、配置优化 1. **修改存储位置** ```bash vim /etc/gitlab/gitlab.rb # 修改行:git_data_dirs({ "default" => { "path" => "/mnt/git-data" } }) sudo gitlab-ctl reconfigure ``` 2. **邮箱配置** 在 `/etc/gitlab/gitlab.rb` 中添加SMTP设置。 --- #### 五、验证安装 ```bash curl http://localhost/-/health # 返回 "GitLab OK" 即正常 ``` > **系统要求**: > - 最低配置:2核CPU + 4GB内存(生产环境建议8GB+)[^1] > - 磁盘空间:至少10GB可用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

龙行天下_LXTX

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值