阿里云服务器部署gitlab

阿里云云服务器 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实例,进入实例界面

 2、配置yum源

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

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


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

 

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

sudo yum makecache
     
     
       
       
       
       

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


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

4、安装完成后启动gitlab

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

其他gitlab常用命令


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

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

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

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

四、gitlab使用

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

修改密码界面如下图:

 修改成功后,使用root和新密码登录,如下图:

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

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

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

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

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

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

如果上面的还是无效 初始化 gitlab配置 命令 :sudo gitlab-ctl reconfigure

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

情况一: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博客


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