如何在阿里云部署GitLab?

  本教程默认阿里云的ECS已经创建好,并在此基础上部署GitLab环境。

  GitLab官网上有个手动部署的教程,而且不同操作系统的指令也多多少少有些区别,官网教程链接如下:

https://about.gitlab.com/install/#centos-8

但官网的教程有点过于理想,完全按照这个教程来,经常会部署失败,因此我们就整理了一下部署方法,笔者用的系统是centos-8,如果是其他系统,请参考官网的部署指令进行修改。

  1. 安装依赖包
sudo dnf install -y curl policycoreutils openssh-server perl
  1. 设置SSH开机自启动并启动SSH服务
sudo systemctl enable sshd
sudo systemctl start sshd
  1. 打开防火墙中的HTTP和SSH服务
# Check if opening the firewall is needed with: sudo systemctl status firewalld
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo systemctl reload firewalld

该步骤可能会遇到FirewallD is not running的错误提示,使用下面命令开启防火墙:

systemctl start firewalld.service
  1. 安装Postfix开机自启动
sudo dnf install postfix
sudo systemctl enable postfix
sudo systemctl start postfix
  1. 启动Postfix服务

运行命令vim /etc/postfix/main.cf,编辑main.cf文件,将下面两个参数进行修改:

inet_interfaces = all
inet_protocols = ipv4 // 或 all

提示:按i键进入编辑模式,编辑完成后按:wq保存退出。

修改完成后,执行下面指令启动服务:

sudo systemctl restart postfix
  1. 开启端口并设置防火墙

这一步我是直接在网页上操作的,在网络与安全中的安全组->配置规则

image-20210918194713201

添加规则,按下面方式定义即可,端口号可自己设,比如8888

image-20210918194809782

网上也有通过脚本设置的,但笔者并没有试过:

#开启8888端口(端口号自己设)firewall-cmd --zone=public --add-port=8888/tcp --permanent#重启防火墙systemctl restart firewalld
  1. 添加GitLab的软件包仓库
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.rpm.sh | sudo bash
  1. 安装GitLab

此时需要我们进入阿里云的实例中,查看公网的IP地址:

image-20210918201021752

假设IP地址是45.45.45.45,我们上面设置的端口号是8888。

sudo EXTERNAL_URL="45.45.45.45:8888" yum install -y gitlab-ee

后面的gitlab-ee表示企业版,也可以安装社区版,即gitlab-ce。

安装完成后,在浏览器地址中输入45.45.45.45:8888,可以看到如下界面。即第一次登录的时候需要重置密码,用户名是root。

gitlab1

  1. 如果部署完成后,进入不到GitLab的页面,说明上面的部署过程有问题,再认真检查。

  2. 没有出现重置密码的页面,而且出现下面这个需要输入用户名和密码的页面,但由于此时我们并未设置过密码,所以肯定登不上去。

image-20210918145454983

此时通过命令行进入cd /opt/gitlab/bin目录下,执行

gitlab-rails console prodection

如果该指令提示错误,执行:

sudo gitlab-rails console -e production

如果指令正常执行的话,会出现下面的界面,并进行如下操作:

  • 切换到root,输入u = User.where(id:1).first
  • 设置密码:u.password='12345678'
  • 确认密码:u.password_confirmation='12345678'
  • 保存设置:u.save!
  • 如果出现true,则表示设置成功,输入exit退出,回到命令行模式

image-20210918224814183

此时再进入到刚刚的GitLab页面,输入用户名和密码,用户名为root,密码是我们刚刚设置的12345678,就可以登录了。

登录之后,即便是自己使用,最好也创建个单独的用户,不要直接使用root。

欢迎关注微信公众号:Quant_Times
在这里插入图片描述

<think>好的,用户想了解如何在阿里云上添加GitLab CE仓库。我需要先回顾一下相关的步骤,确保信息准确。首先,用户可能是在阿里云的ECS实例上部署GitLab,所以需要安装GitLab CE的仓库,然后进行安装和配置。 根据引用[2],安装GitLab CE在Ubuntu/Debian和CentOS上有不同的命令,比如使用apt或yum。而阿里云常用的系统可能是CentOS或者Ubuntu,所以需要分别说明两种系统的添加仓库方法。比如,对于Debian/Ubuntu,通常需要添加GitLab的官方仓库源,然后更新并安装。对于CentOS,可能需要使用curl命令下载仓库脚本,然后安装。 然后,引用[5]提到了设置环境变量GITLAB_HOME,这可能是在Docker部署时的步骤,但用户的问题是关于添加仓库,可能更偏向于直接安装而不是容器化。不过需要确认用户的需求,是直接在云服务器上安装还是用Docker。根据问题描述,用户提到的是“添加GitLab CE仓库”,这通常指的是添加包仓库,所以应该是直接安装。 另外,引用[4]和引用[5]提到Docker镜像的拉取和配置,但用户的问题可能不需要这部分,除非他们想通过Docker安装,但问题明确提到的是“添加仓库”,所以应该专注于包管理器的仓库配置。 接下来,需要确保步骤正确。例如,对于Debian/Ubuntu系统,添加仓库可能需要使用curl下载脚本,然后安装。对于CentOS,同样需要下载仓库脚本,并启用。然后执行安装命令,如apt-get install gitlab-ce或yum install gitlab-ce。 此外,引用[3]提到重新配置GitLab的命令gitlab-ctl reconfigure,这在安装后是必要的步骤。所以需要在步骤中包括这一点。 用户可能还关心阿里云特定的配置,比如安全组设置,开放HTTP/HTTPS和SSH端口,这在引用[5]的环境变量设置中虽然没有直接提到,但属于部署的一部分,需要补充。 可能还需要考虑阿里云的镜像加速或内部源,但GitLab官方仓库可能不需要,所以步骤应该和官方文档一致,但需要针对阿里云的环境调整,比如检查防火墙设置,使用sudo权限等。 总结步骤应该是:1. 添加GitLab仓库源;2. 安装GitLab CE;3. 配置防火墙;4. 修改配置文件;5. 重新配置并启动;6. 访问验证。同时分系统说明,比如Debian/Ubuntu和CentOS的不同步骤。 需要检查是否有遗漏的步骤,比如依赖安装,或者必要的服务启动。确保引用的内容正确对应,比如引用[2]的安装命令,引用[5]的环境变量可能不适用直接安装的情况,但如果是Docker部署则需要,但用户的问题可能不需要Docker部分,所以可能需要忽略引用中的部分内容,或者明确说明两种方法。 可能用户混淆了添加仓库和容器化部署,所以需要明确两种方法:通过包管理器添加仓库安装,或者使用Docker。根据问题,用户询问的是添加仓库,所以重点在包管理器的步骤,但可能需要简要提及其他方法,如Docker,根据引用[4]和[5]。 最后,生成相关问题,需要考虑用户可能的后续问题,比如配置HTTPS,备份,性能优化等,参考引用中的内容,比如引用[1]的管理源配置,引用[3]的加密凭证,引用[5]的环境变量设置等。</think>### 在阿里云中添加和配置GitLab CE仓库的步骤 #### 1. 添加GitLab CE官方仓库 根据操作系统选择对应方法: **Debian/Ubuntu系统** ```bash # 安装依赖 sudo apt-get install -y curl openssh-server ca-certificates # 添加GitLab仓库 curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash ``` **CentOS/RHEL系统** ```bash # 安装依赖 sudo yum install -y curl policycoreutils-python openssh-server # 添加GitLab仓库 curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash ``` #### 2. 安装GitLab CE 执行安装命令(自动选择最新版本): ```bash # Debian/Ubuntu sudo apt-get install gitlab-ce # CentOS/RHEL sudo yum install gitlab-ce ``` #### 3. 配置阿里云安全组 在阿里云控制台开放以下端口: - HTTP (80) / HTTPS (443) - SSH (22) - GitLab默认服务端口(如需自定义) #### 4. 修改GitLab配置文件 编辑配置文件`/etc/gitlab/gitlab.rb`,设置外部访问URL: ```ruby external_url 'http://<阿里云服务器公网IP>' ``` #### 5. 应用配置并启动服务 ```bash sudo gitlab-ctl reconfigure # 根据配置文件重建服务[^3] sudo gitlab-ctl restart # 重启服务 ``` #### 6. 访问验证 浏览器输入`http://<公网IP>`,首次访问需设置管理员密码。若需HTTPS,可参考Let’s Encrypt配置[^1]。 --- ### 容器化部署方案(可选) 若需通过Docker部署: ```bash # 拉取镜像 docker pull gitlab/gitlab-ce:latest # [^4] # 设置环境变量 export GITLAB_HOME=/srv/gitlab # [^5] # 运行容器 docker run --detach \ --hostname gitlab.example.com \ --publish 443:443 --publish 80:80 \ --volume $GITLAB_HOME/config:/etc/gitlab \ --volume $GITLAB_HOME/logs:/var/log/gitlab \ gitlab/gitlab-ce:latest ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值