阿里云云服务器 ECS 手动搭建GitLab避坑教程

根据公司要求,需要在阿里云服务器上搭建GitLab,本文介绍搭建Gitlab的步骤,以及我遇到的问题及解决办法。

搭建gitlab可以参考官方教程:云服务器 ECS 建站教程:GitLab的安装及使用-阿里云开发者社区 (aliyun.com)

 根据官方教程介绍有两种部署方式:镜像部署和手动部署,我这边使用的是手动部署,以下内容也将针对手动部署介绍。

一、前置条件(ECS配置要求)

官网给出的ECS配置要求为:内存2G以上。

提示:如果你没有阿里云服务器,可以申请免费试用哦(阿里云官网有个试用中心,选取自己想要试用的产品就好了)

踩坑1:我申请了一个ECS共享型n4、1核2GiB的实例,操作系统CentOS 7.6 64位,搭建完之后访问GitLab总是显示502,偶尔一两次能够正常访问GitLab(该配置无法访问解决办法请看第五节问题2)。之后又申请了一个ECS共享型n4、2核4GiB的实例,操作系统CentOS 7.2 64位,该配置可以正常访问GitLab。

避坑点1:申请ECS时选择实例配置不要太低,尽量不要选择1核2G的。

二、搭建GitLab步骤

搭建步骤可参考本文开篇给的官方教程链接。此处只针对手动部署进行介绍:

1、远程连接ECS实例,进入实例界面

阿里云云服务器 ECS 手动搭建GitLab避坑教程_第1张图片

 2、配置yum源

vim /etc/yum.repos.d/gitlab-ce.repo

复制以下内容(按“i” 键进入编辑模式,编辑完成后按“ESC”键退出编辑模式,然后输入“:wq”进行保存退出):

[gitlab-ce]
name=gitlab-ce
baseurl=http://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el6
repo_gpgcheck=0
gpgcheck=0
enabled=1
gpgkey=https://packages.gitlab.com/gpg.key

 阿里云云服务器 ECS 手动搭建GitLab避坑教程_第2张图片

 2、更改本地yum缓存(此处执行时间较长,稍等一会)

sudo yum makecache

3、安装GitLab社区版(等待安装完成即可)

sudo yum intall gitlab-ce           #自动安装最新版,我使用的这条命令
sudo yum install gitlab-ce-x.x.x    #安装指定版本

4、安装完成后启动gitlab

sudo gitlab-ctl start    # 启动所有 gitlab 组件;

其他gitlab常用命令

sudo gitlab-ctl start       # 启动所有 gitlab 组件;
sudo gitlab-ctl stop        # 停止所有 gitlab 组件;
sudo gitlab-ctl restart     # 重启所有 gitlab 组件;
sudo gitlab-ctl status      # 查看 gitlab 状态;
sudo gitlab-ctl reconfigure        # 重新加载gitlab配置;
sudo vim /etc/gitlab/gitlab.rb     # 修改默认的配置文件;
gitlab-rake gitlab:check SANITIZE=true --trace    # 检查gitlab;
sudo gitlab-ctl tail        # 查看日志;

至此gitlab搭建完成,使用云服务器ECS公网进行访问gitlab,浏览器中输入ECS公网IP即可访问gitlab,默认是80端口。

阿里云云服务器 ECS 手动搭建GitLab避坑教程_第3张图片

三、修改gitlab默认端口(拓展内容)

如果默认端口80被占用,可以修改gitlab的默认端口,修改gitlab默认端口的方法请参考上一篇文章:问题记录:搭建gitlab,初始化无法设置管理员密码(修改gitlab默认端口)_Tanasha114的博客-CSDN博客

四、gitlab使用

正常情况下,搭建完gitlab过几分钟访问ECS公网IP即可登录到Gitlab界面,首次登录会强制用户修改密码(此处修改的密码是管理员账户root的密码,修改完成后使用root和新密码进行登录gitlab管理界面)。(如果未能正常访问gitlab请看下一节)

修改密码界面如下图:

阿里云云服务器 ECS 手动搭建GitLab避坑教程_第4张图片

 修改成功后,使用root和新密码登录,如下图:阿里云云服务器 ECS 手动搭建GitLab避坑教程_第5张图片

 至此,进入gitlab管理界面,基本就没什么问题了,可以自由探索gitlab了。

然而有些人可能没有这么顺利,会遇到一些问题比如我,请看下一节我遇到的问题。

五、gitlab部署使用过程遇到的问题

问题1:输入公网ip无法显示gitlab界面,显示无法访问此网站

阿里云云服务器 ECS 手动搭建GitLab避坑教程_第6张图片

 此问题请看ECS实例安全组,有没有开通80端口,或者你搭建gitlab时开放的其他端口。

阿里云云服务器 ECS 手动搭建GitLab避坑教程_第7张图片

以下端口应该是申请ecs时默认开放的,不要删除,可以把优先级改成1。如果不小心删了或者开了其他安全组,记得把这些端口添加上。另外如果你有修改gitlab的默认端口,也要记得在此处设置允许访问端口。

阿里云云服务器 ECS 手动搭建GitLab避坑教程_第8张图片

 问题2:访问公网ip显示502

阿里云云服务器 ECS 手动搭建GitLab避坑教程_第9张图片

情况一:gitlab服务重启后立马访问gitlab可能会显示502,此情况需要等待几分钟再试。

情况二:选择的阿里云服务器ECS实例系统配置太低,如我第一次申请的配置是1核2GiB,解决办法启用swap分区。步骤如下:

1、查看swap分区是否启动(未启用的话输入命令后只显示表头)

cat /proc/swaps

2、创建swap分区4G(/data/swap访问不到,后面所有步骤都替换成/mnt/swap)

dd if=/dev/zero of=/data/swap bs=512 count=8388616 

 如果上面这条命令创建失败,显示报错信息为  /data/swap 目录不存在,请用下面这条命令:

dd if=/dev/zero of=/mnt/swap bs=512 count=8388616

3、通过mkswap命令将上面新建出的文件做成swap分区

备注:前面如果用的/mnt/swap则下面这条命令也用/mnt/swap

mkswap /data/swap   

4、查看内核参数vm.swappiness中的数值是否为0,如果为0则设置内核参数调整成60

查看:

cat /proc/sys/vm/swappiness

 设置:

sysctl -w vm.swappiness=60

(备注:若想永久修改,则可以使用vim打开编辑/etc/sysctl.conf文件,改文件中vm.swappiness变量配置,该配置默认为0)

5、启用swap分区(注意:前面如果用的/mnt/swap则下面这条命令也用/mnt/swap)

swapon /data/swap

6、修改/etc/fstab文件(注意:前面如果用的/mnt/swap则下面这条命令也用/mnt/swap)

可以 vim 打开文件 添加 /data/swap swap swap defaults 0 0

也可以使用命令

echo “/data/swap swap swap defaults 0 0” >> /etc/fstab

7、最后查看swap分区是否成功

cat /proc/swaps

8、重启gitlab即可

问题3:首次访问gitlab,初始化无法设置管理员密码

请看上一篇文章:问题记录:搭建gitlab,初始化无法设置管理员密码(解决办法:修改gitlab默认端口)_Tanasha114的博客-CSDN博客

你可能感兴趣的:(gitlab,阿里云)