前言
随着云计算技术的不断进步,华为云 Flexus 云服务器 X 实例凭借其专为中小企业和开发者定制的柔性算力特性,在众多云服务产品中崭露头角,以强劲的性能和出色的性价比赢得了市场的青睐。GitLab 作为一款基于 Git 的开源代码托管平台,提供了版本控制、代码审查、问题跟踪及 CI/CD 等一系列项目管理工具,极大地提升了开发团队的工作效率。本文将指导读者如何在运行 openEuler 系统的华为云 Flexus 云服务器 X 实例上部署 GitLab,通过整合两者的优势,实现服务器管理的现代化转型。无论是初创企业还是成熟团队,都能借助这一部署方案,充分发挥华为云的强大算力与 GitLab 的先进功能,推动项目的快速发展。通过本文的详尽步骤,读者将能够顺利完成 GitLab 的部署,并进一步探索其在实际应用中的潜力。
一、Flexus 云服务器 X 实例介绍
1.1 Flexus 云服务器 X 实例简介
·官网地址:华为云Flexus云服务器X实例
华为云 Flexus 云服务器 X 实例是新一代面向中小企业和开发者的柔性算力云服务器。它能够智能感知业务负载的变化,自动调整资源配置。这款服务器特别适用于中低负载的应用场景,例如电商直播、企业网站建设、开发测试环境、游戏服务器以及音视频服务等。X 实例的设计理念旨在为用户提供更加灵活和高效的计算资源管理方式。通过智能调整,它可以更好地满足不同业务的需求,提高资源利用率。
1.2 Flexus 云服务器 X 实例特点
·提供丰富的公共镜像:Flexus 云服务器 X 实例提供多种公共镜像供用户选择,方便快速部署各种应用和服务。
·可灵活自定义 vCPU 内存配比:用户可以根据自己的需要灵活调整虚拟 CPU 和内存的配比,以满足不同场景的需求。
·智能感知业务动态升降配:Flexus 云服务器 X 实例能够智能感知业务的负载情况,并根据需要自动升降配,以满足业务的需求,提高系统的稳定性和性能。
·负载范围更高:相对于 Flexus 应用服务器 L 实例,Flexus 云服务器 X 实例能够处理更高的负载,适用于更复杂和繁忙的场景。
1.3 Flexus 云服务器 X 实例使用场景
Flexus 云服务器 X 实例针对不同的使用场景展现出其独特的优势:
1.电商直播:利用 X 实例搭建电商交易平台,可以有效应对电商市场的瞬息万变,从容处理业务压力波动,确保交易过程顺畅无阻。
2.企业建站:面向博客、william hill官网 和企业门户等应用场景,X 实例帮助企业高效传播价值信息,促进信息共享与交流,支持构建多功能传播和交互平台。
3.个人开发测试:开发者在开发和测试过程中所需的环境资源可以通过 X 实例便捷获取,不仅提高了搭建效率,而且降低了成本。
4.游戏服务器:适用于搭建游戏后台服务器,强大的计算能力可以轻松应对大量玩家同时在线的情况,同时支持平滑扩容,快速应对玩家数量增长的需求,以及提供出色的网络加速能力以提升用户体验。
二、GitLab 介绍
2.1 GitLab 简介
GitLab是一个基于 Git 的在线代码仓库管理平台,提供了代码托管、版本控制、持续集成和部署等一系列功能。使用 GitLab 可以轻松管理团队中的开发者,进行代码的协作开发和管理。GitLab 也提供了丰富的项目集成和 API,可以让开发者更快地进行集成和部署。
2.2 GitLab 主要特点
·版本控制与代码托管:GitLab 提供了一个基于 Git 的版本控制系统,支持多仓库管理,使得代码的版本控制变得更加高效和可靠。用户可以轻松创建、克隆、分支和合并代码仓库。
·代码审查与协作:GitLab 支持合并请求(Merge Requests)机制,允许团队成员在代码合并之前进行代码审查,确保代码质量,并促进团队间的协作。
·问题与项目管理:内置的问题跟踪系统(Issues)和项目管理面板(Boards),帮助团队跟踪缺陷、任务和特性请求,有效地组织和管理项目进度。
·持续集成与持续部署(CI/CD):GitLab 内置了 CI/CD 功能,通过 .gitlab-ci.yml文件定义构建、测试和部署流程,支持自动化测试、部署和监控,加速软件交付周期。
·安全性与合规性:提供了一系列的安全工具,如静态应用安全测试(SAST)、依赖性检查(Dependency Scanning)、容器镜像扫描(Container Scanning)等,帮助开发者识别潜在的安全漏洞,确保应用程序的安全性。
·可扩展性与高可用性:GitLab 可以从小型项目扩展到大型企业级应用,支持水平扩展,即通过增加节点来提高处理能力。同时,它也支持高可用性部署,确保服务的连续性和可靠性。
·集成与插件支持:GitLab 支持与各种第三方工具和服务集成,如 Slack、Jira、Docker 等,通过插件和 API 接口增强其功能性和灵活性,使开发者能够在一个平台上完成几乎所有 DevOps 相关的任务。
·用户界面与体验:GitLab 提供了直观且用户友好的图形界面,使得即便是非技术背景的团队成员也能轻松使用其各项功能。
·开源与企业版:GitLab 有免费的社区版(Community Edition, CE)和付费的企业版(Enterprise Edition, EE)。企业版提供了更多的高级特性和支持服务,适用于需要更高安全性和定制化功能的大规模企业。
三、本次实践介绍
3.1 本次实践简介
1.本次实践为个人测试学习环境,旨在快速部署应用,生产环境请谨慎;2.本次实践环境为云华为云 Flexus 云服务器 X 实例,使用的操作系统为 openEuler 22.03 LTS;3.本次实践在 Docker 环境下部署 GitLab 服务器。
3.2 本次环境规划
四、远程连接华为云 Flexus 云服务器 X 实例
4.1 购买 Flexus 云服务器 X 实例
进入华为云官网:https://activity.huaweicloud.com/,登录自己的华为云账号,进入华为云英国威廉希尔公司网站
。
·可参考以下基础配置,进行购买:
1.计费模式:包年/包月,这里选择此模式;2.区域:华北—北京四,可用区:随机即可;3.实例规格:关闭性能模式,选择自定义,4vCPUs | 12GiB;4.镜像:公共镜像,Huawei Cloud EulerOS,版本,Huawei Cloud EulerOS 2.0 Standard 64 bit(10GiB);5.应用加速:这里选择不加速,可根据需要自行选择;6.存储:系统盘,通用型 SSD100G;7.网络:选择默认即可;8.安全组:选择默认即可;9.弹性公网 IP:选择“现在购买”,全动态 BGP,带宽 3Mbit/s;10.云服务器名称:可自定义设置,这里选择默认的名称;11.登录凭证:自定义设置密码;12.云备份:暂不购买;其余配置默认即可。
·确认配置及购买
在确认配置页面,检查 Flexus 云服务器 X 实例的各项配置是否正确。检查完毕后,点击“立即购买”。付款完毕后,华为云 Flexus 云服务器 X 实例购买成功。
4.2 查看 Flexus 云服务器 X 实例状态
进入华为云 Flexus 云服务的控制台,选择 Flexus 云服务器 X 实例,可以看到已经正在运行的 Flexus 云服务器 X 实例。
4.3 使用 Xshell 远程连接
·复制 Flexus 云服务器 X 实例的弹性公网 IP 地址
·主要填写 Flexus 云服务器 X 实例的弹性公网 IP 地址,输入其登录用户和密码,连接即可。
五、检查 Flexus 云服务器 X 实例系统环境
5.1 检查操作系统版本
检查 Flexus 云服务器 X 实例的操作系统版本,本次实践选择的版本为 openEuler 22.03 LTS
[root@flexusx-51a1 ~]# cat /etc/os-releaseNAME="openEuler"VERSION="22.03 LTS"ID="openEuler"VERSION_ID="22.03"PRETTY_NAME="openEuler 22.03 LTS"ANSI_COLOR="0;31"
5.2 检查内核版本
检查当前操作系统的内核版本,当前内核版本为 5.10.0-60.109.0.136.oe2203.x86_64。
[root@flexusx-51a1 ~]# uname -r5.10.0-60.109.0.136.oe2203.x86_64
5.3 检查 Docker 版本
部署该项目需要提前安装 Docker 环境,检查 Docker 版本,当前安装的 Docker 版本为26.1.3。
[root@flexusx-51a1 ~]# docker -vDocker version 26.1.3, build b72abbb
5.4 检查 Docker 服务状态
检查 Docker 服务状态,确保 Docker 服务正常。
[root@flexusx-51a1 ~]# systemctl status docker●docker.service - Docker Application Container EngineLoaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)Active: active (running) since Wed 2024-09-04 21:23:44 CST; 15min agoTriggeredBy:●docker.socketDocs: https://docs.docker.comMain PID: 10018 (dockerd)Tasks: 10Memory: 196.3MCGroup: /system.slice/docker.service└─10018 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
5.5 检查 Docker compose 版本
检查 docker compose 版本,当前默认安装版本为 v2.29.1。
[root@flexusx-51a1 ~]# docker compose versionDocker Compose version v2.27.0
六、部署 GitLab 服务器
6.1 下载 GitLab 镜像
执行以下命令,下载 GitLab 镜像。
docker pull gitlab/gitlab-ce:latest
如果拉取过慢,也可以拉取本人的镜像仓库中 GitLab 镜像:
docker pull registry.cn-hangzhou.aliyuncs.com/jeson/gitlab-ce
6.2 创建部署目录
执行以下命令,创建项目部署目录/data/gitlab/。
mkdir -p /data/gitlab/{data,logs,config} && cd /data/gitlab/
6.3 编辑 docker-compose.yaml 文件
本次使用使用 docker compose 方式部署,需要新建及编辑 docker-compose.yaml 文件,内容如下。注意修改部署文件中的 hostname 地址为自己服务器的内网 IP 地址, 其余映射宿主机端口可自行定义设置,注意防止端口冲突。
vim docker-compose.yaml
version: "3"services:gitlab:container_name: gitlabimage: registry.cn-hangzhou.aliyuncs.com/jeson/gitlab-cehostname: '192.168.0.169'restart: alwaysports:- 8011:8011- 8443:443- 2222:22/tcpvolumes:- /etc/localtime:/etc/localtime- /data/gitlab/data:/var/opt/gitlab- /data/gitlab/config:/etc/gitlab- /data/gitlab/logs:/var/log/gitlabenvironment:GITLAB_OMNIBUS_CONFIG: |external_url 'http://192.168.0.169:8011'gitlab_rails['gitlab_shell_ssh_port'] = 2222deploy:resources:limits:memory: 6Greservations:memory: 1G
相关说明:
·container_name: 定义了容器的名称,这里设置为 gitlab。
·image: 指定了要使用的 Docker 镜像,这里是 GitLab 社区版(CE)的最新版本。
·hostname: 设定为服务器的内网 IP 地址 192.168.0.169。
·restart: 设置容器的重启策略,always 表示无论容器是否退出,都会重新启动。
·ports: 将容器内的端口映射到宿主机的端口,例如 HTTP 服务映射到 8011 端口,HTTPS 映射到 8443 端口,SSH 服务映射到 2222 端口。
·volumes: 将宿主机上的目录挂载到容器内,确保数据持久化,例如 /data/gitlab/data 挂载到容器内的 /var/opt/gitlab 目录。
·environment: 设置容器内的环境变量,这里定义了 GitLab 的外部 URL 和 SSH 端口号。
·deploy: 定义了容器的部署配置,特别是资源限制,例如内存限制为 4GB,预留内存为 1GB。
6.4 创建 GitLab 容器
执行以下命令,快速创建 GitLab 容器。
[root@flexusx-51a1 gitlab]# docker compose up -dWARN[0000] /data/gitlab/docker-compose.yaml: `version` is obsolete[+] Running 2/2✔Network gitlab_default Created 0.0s✔Container gitlab Started 0.2s
6.5 查看 GitLab 容器状态
检查 GitLab 容器状态,确保 GitLab 容器正常启动。
[root@flexusx-51a1 gitlab]# docker compose psWARN[0000] /data/gitlab/docker-compose.yaml: `version` is obsoleteNAME IMAGE COMMAND SERVICE CREATED STATUS PORTSgitlab registry.cn-hangzhou.aliyuncs.com/jeson/gitlab-ce "/assets/wrapper" gitlab 38 seconds ago Up 38 seconds (health: starting) 80/tcp, 0.0.0.0:8011->8011/tcp, :::8011->8011/tcp, 0.0.0.0:2222->22/tcp, :::2222->22/tcp, 0.0.0.0:8443->443/tcp, :::8443->443/tcp
6.6 查看 GitLab 容器日志
检查 GitLab 容器日志,确保 GitLab 服务正常运行。
[root@flexusx-51a1 gitlab]# docker compose logs |grep 8011WARN[0000] /data/gitlab/docker-compose.yaml: `version` is obsoletegitlab | + address: http://192.168.0.169:8011gitlab | + listen *:8011;gitlab | + set $http_host_with_default "192.168.0.169:8011";gitlab | +url='http://localhost:8011/help'gitlab | {"content_type":"text/html; charset=utf-8","correlation_id":"01J70HQS3MQGGWK6RR21XWYZ3K","duration_ms":329,"host":"localhost:8011","level":"info","method":"GET","msg":"access","proto":"HTTP/1.1","referrer":"","remote_addr":"127.0.0.1:0","remote_ip":"127.0.0.1","route":"","status":200,"system":"http","time":"2024-09-05T15:35:16+08:00","ttfb_ms":329,"uri":"/help","user_agent":"curl/8.6.0-DEV","written_bytes":27808}gitlab | {"content_type":"text/html; charset=utf-8","correlation_id":"01J70HSM1Z4DYGMN4028NPH9NF","duration_ms":273,"host":"localhost:8011","level":"info","method":"GET","msg":"access","proto":"HTTP/1.1","referrer":"","remote_addr":"127.0.0.1:0","remote_ip":"127.0.0.1","route":"","status":200,"system":"http","time":"2024-09-05T15:36:16+08:00","ttfb_ms":273,"uri":"/help","user_agent":"curl/8.6.0-DEV","written_bytes":27808}
6.7 查看资源使用情况
检查 GitLab 的资源占用情况,发现 GitLab 还是比较占用系统资源的。本次实践购买的华为云 Flexus 云服务器 X 实例配置为 4vCPUs | 12GiB,轻松可以满足资源要求。
docker stats gitlab
七、访问前准备工作
7.1 关闭防火墙
·执行以下命令,停止防火墙。
systemctl stop firewalld
·关闭 selinux
setenforce 0sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
7.2 Flexus 云服务器 X 实例安全组配置
进入 Flexus 云服务器 X 实例控制台,进行安全组规则配置。在安全组入方向规则上,放行 8011/2222/8443 端口。
八、访问 GitLab 英国威廉希尔公司网站
8.1 访问 GitLab 登录页
浏览器访问地址:http://弹性公网 IP 地址:8011,将 IP 替换为自己服务器 IP 地址。浏览器打开后,进入 GitLab 登录页。
8.2 重置登录密码
·进入 GitLab 容器内部
[root@flexusx-51a1 gitlab]# docker exec -it gitlab /bin/bashroot@192:/#
·进入控制台
gitlab-rails console -e production
·查询超级管理用户
user = User.where(id:1).first
·修改登录密码,自定义设置即可。
user.password='admin36987'
·保存于退出
# 保存 user.save!# 退出 exit
8.3 访问 GitLab 英国威廉希尔公司网站
浏览器访问地址:https://弹性公网 IP 地址:8011,将 IP 替换为自己服务器 IP 地址。浏览器打开后,进入 GitLabt 登录页。输入刚才的查询的账号及修改密码,登录 GitLab。
8.4 设置中文语言
点击账号——Preferences 选项,找到“Localization”区域,将“Language”选项修改为“简体中文”。
更改中文语言后,查看 GitLab 英国威廉希尔公司网站 效果。
九、使用体验与总结
在本次实践中,我们成功地在华为云 Flexus 云服务器 X 实例上部署了 GitLab 系统,整个部署过程及后续使用体验极为顺畅。华为云 Flexus X 实例凭借卓越的性价比、强大的计算性能、可靠的稳定性和高标准的安全保障,在众多选项中脱颖而出。其网络连接始终保持稳定,操作过程毫无延迟或卡顿,确保了高效的用户体验。GitLab 作为一个基于 Git 的在线代码仓库管理平台,提供了代码托管、版本控制、持续集成和部署等一系列功能。此次部署不仅彰显了华为云 Flexus X 实例作为云服务器基础的强大优势,还验证了当高质量云服务与高效工具相结合时,能够显著提升工作效率。这种组合值得每一个寻求可靠云解决方案的专业人士尝试。
趁着华为云 828 B2B 企业节的热潮,快来探索 Flexus X 实例的超值优惠,感受技术与创新的完美融合;从高性能计算到智能监控,每一个细节都彰显出华为云对品质的坚持与追求;加入华为云大家庭,不仅是一次技术升级,更是向未来迈出的坚实一步;让我们携手并进,共创云端新辉煌!
-
云计算
+关注
关注
39文章
7824浏览量
137453 -
云服务器
+关注
关注
0文章
620浏览量
13366 -
openEuler
+关注
关注
2文章
316浏览量
5896
发布评论请先 登录
相关推荐
评论