亚马逊AWS EC2上部署gitlab服务器(国内)及安装过程中遇到的错误

一.准备工作
1.在网上申请EC2账号,密钥。
2.一个可以连接EC2的软件,比如SSH,Xshell,Xmanager等等
3.了解一下gitlab在linux中不同版本(centos,RH,ubuntu)的安装差异

二.开始部署gitlab服务器
GitLab一个开源的git仓库管理平台,方便团队协作开发、管理。在GitLab上可以实现完整的CI(持续集成)、CD(持续发布)流程。而且还提供了免费使用的Plan,以及免费的可以独立部署的社区版本

在linux中,首先得知道其系统的版本,AWS系统版本是(命令行:cat /proc/version)
在这里插入图片描述
可以看到EC2采用的事REDHAT(俗称‘小红帽’)的版本系统,安装方法跟centos一样。
这里我用的是Xshell来安装gitlab
1.用Xshell连接。打开Xshell,文件–新建,如图在这里插入图片描述
常规–名称(自定义)
主机(H):你的ip地址
右下角点击–连接
会跳出一个password界面,这里选择密钥登陆,上传本地密钥,保存连接。

2.在RH系统上要想安装gitlab,必须先安装其对应的依赖:ssh(建立在应用层基础上的安全协议),防火墙,postfix(用于邮件通知),wget,vim。好在EC2上都已经带你安装好了这些依赖,另外防火墙不需要配置,已经设置好了。

注意:EC2默认是没有root用户权限的,所以需要手动进入root,获取权限。命令行:sudo su -
开启权限。
1、安准基础依赖
#安装技术依赖
sudo yum install -y curl policycoreutils-python openssh-server(这是之前我已经安装了,如果第一次安装会出现下载安装成功等信息)
在这里插入图片描述

#启动ssh服务&设置为开机启动
sudo systemctl enable sshd
sudo systemctl start sshd

2、安装Postfix

Postfix是一个邮件服务器,GitLab发送邮件需要用到
#安装postfix
sudo yum install -y postfix(同上)
在这里插入图片描述

#启动postfix并设置为开机启动
sudo systemctl enable postfix
sudo systemctl start postfix

3、开始下载gitlab以及部署
安装gitlab有很多种方式,这里一一给大家介绍
第一种官网安装方式
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-10.0.0-ce.0.el7.x86_64.rpm
官网安装包地址:https://packages.gitlab.com/gitlab/gitlab-ee

第二种是通过yum镜像安装
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-11.11.3-ce.0.el7.x86_64.rpm
这里用的是清华的yum源,国内还有很多yum源,比如阿里云镜像:http://mirrors.aliyun.com
网易镜像: http://mirrors.163.com/
等等
在这里插入图片描述
说明下载完成。

安装gitlab 安装命令:rpm -i gitlab-ce-11.11.3-ce.0.el7.x86_64.rpm
安装过程需要些时间,如果出现下图,则说明安装成功。
在这里插入图片描述
修改gitlab配置文件指定服务器ip和自定义端口:
vim /etc/gitlab/gitlab.rb
在这里插入图片描述
红色文字部分,需要我们根据自己的服务器IP做出修改
修改如下:‘http://你自己所要部署的服务器ip:端口号’
进入编辑器后按“i”键进入编辑状态,ESC键退出编辑状态

退出并保存,命令输入“:wq”

ps:注意这里设置的端口不能被占用,默认是8080端口,如果8080已经使用,请自定义其它端口,并在防火墙设置开放相对应得端口

重置并启动GitLab
执行:
gitlab-ctl reconfigure
在这里插入图片描述
gitlab-ctl restart

提示 "ok: run:"表示启动成功
在这里插入图片描述
4.访问页面并且注册
如果没有域名,直接输入服务器ip和指定端口进行访问
第一次登录修改密码
在这里插入图片描述

5.这里我们还得再配置一下邮箱,
使得gitlab能够通过邮箱给我们反馈信息,找回密码。
systemctl status postfix
在这里插入图片描述
查看邮箱依赖是否在运行

6.vim打开gitlab的配置文件:vim /etc/gitlab/gitlab.rb,新增以下内容
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
配置完成后执行gitlab-ctl reconfigure 让配置生效
gitlab-ctl reconfigure

7.测试邮箱

执行 gitlab-rails console进入控制台交互界面, 然后在控制台提示符后输入下面内容发送一封测试邮件,测试完成后exit()退出。

gitlab-rails console

Notify.test_email(‘yoyo_你自己随便邮箱@qq.com’, ‘邮件标题_test’, ‘邮件正文_test’).deliver_now
[root@yoyo gitlab]# gitlab-rails console
Loading production environment (Rails 4.2.8)
irb(main):001:0> Notify.test_email(‘yoyo_******@qq.com’, ‘邮件标题_test’, ‘邮件正文_test’).deliver_now

Notify#test_email: processed outbound mail in 1.2ms

Sent mail to yoyo_******@qq.com(1375.0ms)
Date: Fri, 18 Jan 2019 13:58:24 +0800
From: GitLab [email protected]
Reply-To: GitLab [email protected]
To: yoyo_******@qq.com
Message-ID: [email protected]
Subject: =?UTF-8?Q?=E9=82=AE=E7=AE=B1=E4=B8=BB=E9=A2=98=5Ftest?=
Mime-Version: 1.0
Content-Type: text/html;
charset=UTF-8
Content-Transfer-Encoding: quoted-printable
Auto-Submitted: auto-generated
X-Auto-Response-Suppress: All

=E9=82=AE=E7=AE=B1=E6=AD=A3=E6=96=87_test

=> #<Mail::Message:70259829672900, Multipart: false, Headers: <Date: Fri, 18 Jan 2019 13:58:24 +0800>,
<From: GitLab [email protected]>, <Reply-To: GitLab [email protected]>,
<To: yoyo_******@qq.com>, <Message-ID: [email protected]>,
<Subject: 邮箱主题_test>, <Mime-Version: 1.0>, <Content-Type: text/html; charset=UTF-8>,
<Content-Transfer-Encoding: quoted-printable>,
<Auto-Submitted: auto-generated>,
<X-Auto-Response-Suppress: All>>
irb(main):006:0> exit() # 退出

此时你设置的邮箱会收到一份验证邮件,只要点击就可以完成。
整个gitlab部署就完成了。

8.gitlab-ctl常用命令介绍

check-config 检查在gitlab中是否有任何配置。在指定版本中删除的rb
deploy-page 安装部署页面
diff-config 将用户配置与包可用配置进行比较
remove-accounts 删除所有用户和组
upgrade 升级
service-list 查看所有服务
once 如果GitLab服务停止了就启动服务,如果已启动就不做任何操作
restart 重启GitLab服务
start 如果GitLab服务停止了就启动服务,如果已启动就重启服务
stop 停止GitLab服务
status 查看GitLab服务状态
reconfigure reconfigure重新配置GitLab并启动

9.完全卸载GitLab
停止gitlab
sudo gitlab-ctl stop
卸载gitlab(这块注意了,看看是gitlab-ce版本还是gitlab-ee版本,别写错误了)
sudo rpm -e gitlab-ce

查看gitlab进程

 	ps -ef|grep gitlab

杀掉第一个守护进程(runsvdir -P /opt/gitlab/service log)
  kill -9 4473
  再次查看gitlab进程是否存在

删除gitlab文件

    find / -name *gitlab*|xargs rm -rf      删除所有包含gitlab的文件及目录

    find / -name gitlab |xargs rm -rf 

    删除gitlab-ctl uninstall时自动在root下备份的配置文件(ls /root/gitlab* 看看有没有,有也删除)

10,安装容易出错的地方
<1>再重新配置文件的时候,很容易卡界面不动,尤其第一次没有安装好,重新安装的时候,最容易卡屏
这个时候只要如下操作多试几次就好了,切记输入命令后需要等截面跳动完成,再输入下一个命令
按住CTRL+C强制结束;
运行:sudo systemctl restart gitlab-runsvdir;
再次执行:sudo gitlab-ctl reconfigure

<2>登录gitlab的时候很容易出现502,这个可能默认端口被占用了
这个时候需要查看端口
gitlab-ctl tail unicorn
来跟踪unicorn的状态

一般都是unicorn端口被占用了,我们这里要进入配置中
vim /etc/gitlab/gitlab.rb
找到“unicorn[‘port’] = 9090”
默认是9090,我们可以改成90901如果不行,就90902,释放端口,然后重启配置
gitlab-ctl reconfigure
gitlab-ctl restart
再登录,发现就不会出现502了。

发布了2 篇原创文章 · 获赞 0 · 访问量 265

猜你喜欢

转载自blog.csdn.net/wangx221210/article/details/94395186