北滘禅城网站建设,腾博会的网站是什么,电子商务专业毕业了从事什么工作,word做网站828华为云征文#xff5c;华为云Flexus云服务器X实例之openEuler系统下部署Gitlab服务器 前言一、Flexus云服务器X实例介绍1.1 Flexus云服务器X实例简介1.2 Flexus云服务器X实例特点1.3 Flexus云服务器X实例使用场景 二、GitLab介绍2.1 GitLab简介2.2 GitLab主要特点 三、本次… 828华为云征文华为云Flexus云服务器X实例之openEuler系统下部署Gitlab服务器 前言一、Flexus云服务器X实例介绍1.1 Flexus云服务器X实例简介1.2 Flexus云服务器X实例特点1.3 Flexus云服务器X实例使用场景 二、GitLab介绍2.1 GitLab简介2.2 GitLab主要特点 三、本次实践介绍3.1 本次实践简介3.2 本次环境规划 四、远程连接华为云Flexus云服务器X实例4.1 购买Flexus云服务器X实例4.2 查看Flexus云服务器X实例状态4.3 使用Xshell远程连接 五、检查Flexus云服务器X实例系统环境5.1 检查操作系统版本5.2 检查内核版本5.3 检查Docker版本5.4 检查Docker服务状态5.5 检查Docker compose版本 六、部署GitLab服务器6.1 下载GitLab镜像6.2 创建部署目录6.3 编辑docker-compose.yaml文件6.4 创建GitLab容器6.5 查看GitLab容器状态6.6 查看GitLab容器日志6.7 查看资源使用情况 七、访问前准备工作7.1 关闭防火墙7.2 Flexus云服务器X实例安全组配置 八、访问GitLab首页8.1 访问GitLab登录页8.2 重置登录密码8.3 访问GitLab首页8.4 设置中文语言 九、使用体验与总结 前言 随着云计算技术的不断进步华为云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实例针对不同的使用场景展现出其独特的优势 电商直播利用X实例搭建电商交易平台可以有效应对电商市场的瞬息万变从容处理业务压力波动确保交易过程顺畅无阻。 企业建站面向博客、论坛和企业门户等应用场景X实例帮助企业高效传播价值信息促进信息共享与交流支持构建多功能传播和交互平台。 个人开发测试开发者在开发和测试过程中所需的环境资源可以通过X实例便捷获取不仅提高了搭建效率而且降低了成本。 游戏服务器适用于搭建游戏后台服务器强大的计算能力可以轻松应对大量玩家同时在线的情况同时支持平滑扩容快速应对玩家数量增长的需求以及提供出色的网络加速能力以提升用户体验。
二、GitLab介绍
2.1 GitLab简介 GitLab 是一个基于Git的在线代码仓库管理平台提供了代码托管、版本控制、持续集成和部署等一系列功能。使用GitLab可以轻松管理团队中的开发者进行代码的协作开发和管理。GitLab也提供了丰富的项目集成和API可以让开发者更快地进行集成和部署。 2.2 GitLab主要特点 版本控制与代码托管GitLab 提供了一个基于 Git 的版本控制系统支持多仓库管理使得代码的版本控制变得更加高效和可靠。用户可以轻松创建、克隆、分支和合并代码仓库。 代码审查与协作GitLab 支持合并请求Merge Requests机制允许团队成员在代码合并之前进行代码审查确保代码质量并促进团队间的协作。 问题与项目管理内置的问题跟踪系统Issues和项目管理面板Boards帮助团队跟踪缺陷、任务和特性请求有效地组织和管理项目进度。 持续集成与持续部署CI/CDGitLab 内置了 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 本次环境规划
服务器类别公共镜像选择内网IP地址Docker版本操作系统版本华为云Flexus云服务器X实例openEuler192.168.0.16926.1.3openEuler 22.03 LTS
四、远程连接华为云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 [rootflexusx-51a1 ~]# cat /etc/os-release
NAMEopenEuler
VERSION22.03 LTS
IDopenEuler
VERSION_ID22.03
PRETTY_NAMEopenEuler 22.03 LTS
ANSI_COLOR0;315.2 检查内核版本 检查当前操作系统的内核版本当前内核版本为5.10.0-60.109.0.136.oe2203.x86_64。 [rootflexusx-51a1 ~]# uname -r
5.10.0-60.109.0.136.oe2203.x86_645.3 检查Docker版本 部署该项目需要提前安装Docker环境检查Docker版本当前安装的Docker版本为 26.1.3。 [rootflexusx-51a1 ~]# docker -v
Docker version 26.1.3, build b72abbb5.4 检查Docker服务状态 检查Docker服务状态确保Docker服务正常。 [rootflexusx-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 ago
TriggeredBy: ● 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.sock5.5 检查Docker compose版本 检查docker compose版本当前默认安装版本为v2.29.1。 [rootflexusx-51a1 ~]# docker compose version
Docker 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-ce6.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.yamlversion: 3
services:gitlab:container_name: gitlabimage: registry.cn-hangzhou.aliyuncs.com/jeson/gitlab-cehostname: 192.168.0.169restart: 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:8011gitlab_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容器。 [rootflexusx-51a1 gitlab]# docker compose up -d
WARN[0000] /data/gitlab/docker-compose.yaml: version is obsolete
[] Running 2/2✔ Network gitlab_default Created 0.0s✔ Container gitlab Started 0.2s6.5 查看GitLab容器状态 检查GitLab容器状态确保GitLab容器正常启动。 [rootflexusx-51a1 gitlab]# docker compose ps
WARN[0000] /data/gitlab/docker-compose.yaml: version is obsolete
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
gitlab 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/tcp6.6 查看GitLab容器日志 检查GitLab容器日志确保GitLab服务正常运行。 [rootflexusx-51a1 gitlab]# docker compose logs |grep 8011
WARN[0000] /data/gitlab/docker-compose.yaml: version is obsolete
gitlab | address: http://192.168.0.169:8011
gitlab | listen *:8011;
gitlab | set $http_host_with_default 192.168.0.169:8011;
gitlab | urlhttp://localhost:8011/help
gitlab | {content_type:text/html; charsetutf-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:1608:00,ttfb_ms:329,uri:/help,user_agent:curl/8.6.0-DEV,written_bytes:27808}
gitlab | {content_type:text/html; charsetutf-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:1608: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如果想要开启防火墙则需要在防火墙上放行cockpit服务。 sudo firewall-cmd --permanent --zonepublic --add-servicecockpit
sudo firewall-cmd --reload关闭selinux
setenforce 0
sed -i s/SELINUXenforcing/SELINUXdisabled/ /etc/selinux/config
7.2 Flexus云服务器X实例安全组配置 进入Flexus云服务器X实例控制台进行安全组规则配置。在安全组入方向规则上放行8011/2222/8443端口。 八、访问GitLab首页
8.1 访问GitLab登录页 浏览器访问地址http://弹性公网IP地址:8011将IP替换为自己服务器IP地址。浏览器打开后进入GitLabt登录页。 8.2 重置登录密码
进入GitLab容器内部
[rootflexusx-51a1 gitlab]# docker exec -it gitlab /bin/bash
root192:/#进入控制台
gitlab-rails console -e production查询超级管理用户
user User.where(id:1).first修改密码
user.passwordadmin36987保存于退出
# 保存
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实例的超值优惠感受技术与创新的完美融合从高性能计算到智能监控每一个细节都彰显出华为云对品质的坚持与追求加入华为云大家庭不仅是一次技术升级更是向未来迈出的坚实一步让我们携手并进共创云端新辉煌