0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

华为云 Flexus X 实例:极速搭建个人代码仓库 GitLab 平台

jf_81200783 来源:jf_81200783 作者:jf_81200783 2025-01-23 18:29 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

目录

前言 1

一、Flexus 云服务器 X 介绍 1

1.1 Flexus 云服务器 X 实例简介 1

1.2 Flexus 云服务器 X 实例特点 2

1.3 Flexus 云服务器 X 实例使用场景 2

二、Flexus 云服务器 X 购买 2

2.1 Flexus X 实例购买 2

2.2重置密码 3

2.3登录服务器 4

三、Flexus X 实例安装 GitLab5

3.1GitLab 镜像下载 5

3.2GitLab 部署安装 5

3.3 GitLab 配置 6

3.4 GitLab 登录账号重置 7

四、GitLab 验证 9

4.2 项目创建 12

4.3 ssh 密钥配置 14

4.4 仓库克隆 16

4.4 代码提交 17

五、Flexus X 性能监控 18

总结 19

1

前言

随着云计算技术的快速发展,越来越多的人选择将个人或团队的代码仓库搭建在云端,以便更好地管理和协作。华为云 FlexusX 实例凭借其高性能和稳定性,成为了搭建 GitLab 平台的理想选择。本文将详细介绍如何在 FlexusX 实例上快速搭建并配置 GitLab 平台。

一、Flexus 云服务器 X 介绍

1.1Flexus 云服务器 X 实例简介

Flexus 云服务器 X 是华为云推出的一款高性能、高可用性的云服务器,它采用了最新的处理器技术,支持多种操作系统和应用程序,具备灵活的资源配置和强大的扩展能力。无论是 Web 应用、数据库服务还是大数据处理,Flexus 云服务器 X 都能为您提供稳定、高效的运行环境。

wKgZPGdxDueAX7XLAAFBJ4jvWqI797.png

1.2Flexus 云服务器 X 实例特点

Flexus 云服务器 X 实例具有如下四大特点

wKgZO2dxDuiAbOthAAC2p7r4ZX8086.png

1.3Flexus 云服务器 X 实例使用场景

Flexus 云服务器 X 搭配更多云服务,一站满足多种场景需求:

企业建站:面向博客、论坛,和企业门户等业务场景,帮助企业传播价值信息,促进信息共享和交流,支撑用户建设多功能的传播和交互平台。

​​​​​电商直播:基于 X 实例搭建电商交易平台,可以从容面对电商市场瞬息万变对的业务压力变化。

个人开发测试:开发者在开发、测试过程中需要的环境资源,可以选择从云上提供。基于 X 实例搭建开发测试环境,更加便利,成本更优。

游戏服务器:适用于搭建游戏后台服务器,强大算力轻松应对千人同时在线,同时平滑扩容可快速应对服务器玩家数量上涨诉求,超强的网络加速能力提升用户体验

二、Flexus 云服务器 X 购买

2.1FlexusX 实例购买

本文实践前,开始前需要在华为云官网购买 Flexus X 实例,可以根据实际需求选择合适的配置,如 CPU、内存、存储和网络带宽等。本次需要安装 gitlab 平台,官方要求 CPU 建议使用 2 核或以上,内存建议使用 4GB 或以上内存,硬盘建议使用至少 50GB 的硬盘空间,可以根据此条件进行选择。

wKgZPGdxDuiANqdqAAJ02uTtywI471.png

购买成功后,再控制台,就可以看到刚刚购买的 FlexusX 实例服务器,如下已购买 4 核 12g 的实例。

wKgZO2dxDuiAFQL_AAE5HwmmnKA804.png

2.2重置密码

首次购买后,需要重置服务器的登录密码,才能远程登录到服务器中,在华为云控制台中,找到 Flexus 云服务器 X 实例,点击“重置密码”按钮,按照提示设置新的登录密码。

wKgZPGdxDumAJkBDAABydDC1YkI278.png

2.3登录服务器

重置密码之后,就可以使用刚刚的密码登录到 Flexus 云服务器 X 实例,可以使用 xShell 等 SSH 客户端工具登录服务器或者选择使用自带的 cloudshell。

wKgZO2dxDumAfFmTAADUtf8SXgs334.png

接下来就可以登录到 Flexus 云服务器 X 实例中,进入终端之后,会提示WelcometoHuaweiCloudService,说明成功登录。

wKgZPGdxDumAccInAADoFCBFUR0262.png

三、FlexusX实例安装 GitLab

3.1GitLab 镜像下载

本次将基于 Docker 容器进行 GitLab 的部署。所以,确保 FlexusX 实例上已经安装了 Docker。关于 Docker 的安装教程,可以参考下面文章中的 FlexusX 实例安装 Docker 教程:828 华为云征文|基于华为云 Flexus X 实例快速搭建 Halo 博客平台-CSDN 博客

接下来,通过以下命令下载 GitLab 的官方 Docker 镜像:

dockerpullgitlab/gitlab-ce

wKgZO2dxDuqAauQNAAAam_HQ5jw883.png

3.2GitLab 部署安装

在开始部署之前,需要创建一些必要的目录来存储 GitLab 的配置文件、日志和数据,主要用于 docker 容器映射。

mkdir-p/mydata/gitlab/config

mkdir-p/mydata/gitlab/logs

mkdir-p/mydata/gitlab/data

接下来,使用 dockerrun 命令运行 GitLab 容器,这里需要指定容器的一些运行参数,如主机名、端口映射、容器名称、重启策略以及数据卷映射等,本次运行命令如下:

dockerrun

-p443:443

-p8081:80

-p8022:22

--namegitlab

--restartalways

-v/mydata/gitlab/config:/etc/gitlab

-v/mydata/gitlab/logs:/var/log/gitlab

-v/mydata/gitlab/data:/var/opt/gitlab

-dgitlab/gitlab-ce

443端口:用于安全的HTTPSWeb访问。

8081端口:用于普通的HTTPWeb访问(非加密),后续通过浏览器访问http://:8081来访问GitLab的Web界面。

8022端口:用于SSH连接,以便进行远程管理和Git操作,后续克隆代码使用。

docker 启动完成之后使用 dockerps 命令可以看到,gitlab 容器正常运行。

wKgZPGdxDuqANUXSAABOxbQsOf8147.png

3.3GitLab 配置

接下来进行 GitLab 配置,包括外部访问以及账号密码,进入 GitLab 的挂着配置文件目录,并使用 vim 或其他文本编辑器修改 gitlab.rb 文件,执行下面命令。

vim/mydata/gitlab/config/gitlab.rb

首先需要修改 external_url,它是GitLab配置文件中的一个重要设置项,指定了GitLab实例对外提供服务的完整URL地址。找到#external_url'GENERATED_EXTERNAL_URL'去掉注释,并修改为 FlexusX服务器的地址,主要 ip 就行,不需要端口号,如图所示:

wKgZO2dxDuqAI7EEAAAaWVbOomw204.png

接下来,配置 SSH 访问的地址和端口,这里需要修改两个地方,第一个是 ssh克隆地址,找到下面配置。

#gitlab_rails['gitlab_ssh_host']='ssh.host_example.com'

去除注释,并且将 ssh.host_example.com 改为 FlexusX服务器 ip。

wKgZPGdxDuuAU0NHAAAV_wsZiYg603.png

第二个是修改 ssh 克隆地址端口号,找到下面配置。

gitlab_rails['gitlab_shell_ssh_port']=22

修改后面 22 为 8022,8022 也是 docker 启动容器映射的端口。

wKgZO2dxDuuAGmGMAAAelKobLKI275.png

3.4GitLab 登录账号重置

GitLab 首次安装需要重置密码,web 管理后台才能登录,接下来需要进入容器内部设置 root 用户的密码。

首先,通过以下命令进入 GitLab 容器的内部环境:

dockerexec-itgitlab/bin/bash

进入容器内部后,需要进一步进入 GitLab 的 Rails 控制台来进行密码重置操作。执行以下命令:

gitlab-railsconsole-eproduction

启动了 GitLab 的 Rails 控制台,并且指定了运行环境为 production,下面就是 GitLab 默认的生产环境。

wKgZPGdxDuuAQ_J9AAAcUUf8i3o157.png

在 Rails 控制台中,需要查询到 id 为 1 的用户,执行下面命令:

user=User.where(id:1).first

id 为 1 通常是 GitLab 的超级管理员,查询结果页提示 root。

wKgZO2dxDuuAMECtAAAMiLGFKic218.png

接下来,修改这个超级管理员用户的密码。首先尝试设置一个简单的密码:

user.password='root@#'

wKgZPGdxDuuAeKV0AAALKqA0-qA365.png

确认新密码后,执行以下命令来保存对用户记录的更改。

user.save!

GitLab 为了安全考虑,不允许设置过于简单的密码。控制台也收到保存错误的提示,说明密码不符合安全要求。

wKgZO2dxDuyAcVTcAADaBN-43QQ909.png

所以重新设置为:qwertyu1234!

user.password='qwertyu1234!'

密码设置成功,这条命令会返回 true,表示用户的密码已经被成功更新。

wKgZPGdxDuyASCLIAAAKQo-5aJc339.png

完成密码重置后,需要退出 Rails 控制台和容器的 bashshell,执行下面命令:

exit

执行两次 exit 命令,第一次退出 Rails 控制台,第二次退出容器的 bashshell。

四、GitLab 验证

上述准备工作已就绪,接下来就可以进行 GitLab 验证,首先确保 FlexusX 实例的安全组规则允许外部访问 8081 和 8022 端口,进入安全组进行添加。

wKgZO2dxDuyAE7QmAACO5FyPDvE621.png

添加完成之后,在浏览器中输入 FlexusX 的 IP 地址和 8081 端口,可以成功打开 GitLab 登录页面。

wKgZPGdxDu2AE7uuAABFLoaTiiY928.png

接下来,使用刚刚设置的 root 账号和密码登录 GitLab,登录成功进入 GitLab 首页。

wKgZO2dxDu2AAuy_AAEwFP0t4FQ739.png

GitLab 默认是英文,可以在用户设置的偏好设置中切换语言为中文,以便更好地操作 GitLab,如图所示:

wKgZPGdxDu2AdfpBAAGL3bdau6k070.png

修改保存之后,刷新页面,管理页面也变成中文了。

wKgZO2dxDu2AXTznAAEUXq-aIhE954.png

4.2项目创建

在 GitLab 首页,点击“创建项目”按钮。

wKgZPGdxDu6AGHBmAAEAFEXWnVs337.png

输入项目名称并创建一个空白项目,比如 Java-hello。

wKgZO2dxDu6AaN3bAAFF-tLcdQI368.png

创建完成之后在首页就可以看到刚刚创建的 Java-hello 项目了。

wKgZPGdxDu6AIM7wAAGj951EEYI808.png

4.3ssh 密钥配置

在克隆代码之前,需要在本地生成 SSH 密钥对。将公钥复制到 GitLab 的 SSH 密钥设置中,以便进行安全的身份验证,打开 cmd 执行下面命令:

ssh-keygen-trsa-C自己的邮箱 @.com

wKgZO2dxDu-AQD9HAAAYsCiibrc827.png

Git 的 SSH 密钥通常存储在 C:UsersYour-Username.ssh,其中 Your-Username 是你的 Windows 用户名,记事本打开 id_rsa.pub,复制里面的公钥。

wKgZPGdxDu-AVVNxAAAwS1rKzAY762.png

回到 gitlab 在左边菜单栏,点击 ssh 秘钥。

wKgZO2dxDu-AMG_1AAD_cw7F3wM123.png

新增 SSH 秘钥,将生成的秘钥复制粘贴在密钥框中。

wKgZPGdxDu-ABkmSAAGcv631Ots116.png

4.4仓库克隆

ssh 秘钥配置完成,就可以进行仓库克隆了,进入 GitLab 项目页面,点击“克隆”按钮获取仓库地址,使用 ssh 克隆。

wKgZO2dxDvCADddaAAFiOP4j4lo308.png

在本地使用 GitBash 工具进行仓库克隆,成功拉取仓库代码。

wKgZPGdxDvCAHx0xAAA7vO4bFrY094.png

在本地文件也看到对应仓库目录。

wKgZO2dxDvCAANmZAAAdhONkikc026.png

4.4代码提交

在 GitLab 中创建项目并设置好 SSH 密钥后,就可以开始进行代码的提交和推送。首先,打开项目中的 readme.md 文件,并进行一些简单的编辑。这可以是添加项目的描述、说明或其他相关信息。

wKgZPGdxDvCAFO0DAABQ2WFVI38370.png

cdjava-hello/在项目目录中,执行以下命令来提交更改:

gitadd.

gitcommit-m'华为云征文'

wKgZO2dxDvGADlj7AAAmtW9j03w217.png

提交完成后,需要将代码推送到 GitLab 平台。执行以下命令:

gitpushoriginmaster

wKgZPGdxDvGAFodFAAAu4IEWCQ4278.png

推送完成后,可以登录到 GitLab 平台,进入项目页面,查看提交历史和最新的代码更改。

wKgZO2dxDvGAWjxLAAN5mqaU_nI723.png

五、FlexusX 性能监控

在成功安装并运行 GitLab 平台后,了解服务器的性能状况是非常重要的,特别是考虑到 GitLab 本身会消耗相当数量的服务器资源和性能。FlexusX 提供了强大的性能监控功能,可以实时了解服务器的运行状态,在 FlexusX 性能监控面板可以看到,整体指标平稳正常。

wKgZPGdxDvKARpFbAAPbEIl4CJA097.png

总结

本文详细介绍了如何在华为云 FlexusX 实例上搭建 GitLab 平台,并进行了基本的配置和使用。通过遵循这些步骤,便可以轻松地将 GitLab 部署到您的服务器上,实现高效的代码管理和团队协作。FlexusX 实例凭借其高性能和稳定性,为 GitLab 平台的顺畅运行提供了有力保障。无论您是个人开发者还是团队成员,都能够在这个平台上享受到便捷的代码托管、项目管理以及持续集成/持续部署等功能。

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 云计算
    +关注

    关注

    39

    文章

    8061

    浏览量

    145056
  • 华为云
    +关注

    关注

    3

    文章

    2837

    浏览量

    19403
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    什么是低代码:低代码开发平台详解 5个优质低代码平台工具

    、智能代码补全,进一步提升开发效率。 适用场景:中大型企业、政务单位、制造行业、金融行业,用于搭建复杂业务系统、流程管理系统,适配信创需求。 e-builder:协同型低代码平台 e-
    发表于 04-07 16:03

    2026年低代码平台市场综合评测:国内10大低代码平台深度解析

    、供应链管理、零售门店数字化、移动办公应用。 6.简道(综合评分:87.8) 核心定位:中小企业轻量化数字化一站式工具,定位为零代码快速搭建平台,以“灵活易用、快速迭代”为核心特点。 核心优势:纯可
    发表于 03-30 16:02

    硬件通胀下的生存战!华为Flexus X服务器,让中小企业不做“接盘侠”

    通知”成了企业IT采购的常态。 DRAM合同价同比暴涨171.8%,NAND Flash价格累计飙升246%,服务器整机采购成本上升15%-20%。硬件市场的疯狂涨价,正让无数中小企业面临“买得起用不起、想买却没货”的绝境。而__华为
    的头像 发表于 12-31 13:05 461次阅读

    告别“硬件军备竞赛”!华为如何让企业算力效率翻倍,成本减半?

    的技术迭代周期却在缩短。在此背景下,继续沿用传统的重资产IT模式已不合时宜。 华为凭借Flexus X实例的柔性算力、弹性
    的头像 发表于 12-31 13:02 333次阅读

    DRAM 暴涨 171%! 171% 下的企业突围:华为 Flexus X 服务器成 IT 成本管控利器

    Flexus X 服务器凭借独有的柔性算力黑科技与智能调度能力,助力企业实现核心应用性能最高达友商 6 倍、综合成本降低 30% 的双重突破,成为硬件通胀周期下的 IT 破局关键
    的头像 发表于 12-31 13:00 447次阅读

    拒绝 “一次性工具”: 华为Flexus AI智能体让 AI 持续创造业务价值

    从工具到伙伴:华为Flexus AI智能体如何以“产品+服务”双轮驱动破解企业AI落地难题 真正的技术赋能,不仅提供利器,更要教会用法,陪伴成长。 在数字化转型的浪潮中,企业AI应用正面临着一个
    的头像 发表于 12-25 17:21 694次阅读

    告别加班!华为Flexus AI智能体,让效率提升95%的秘诀

    和运营效率上看到对应的回报。 华为Flexus AI智能体通过其全栈技术架构与精准的价值转化路径,为企业提供了一个技术价值可衡量、可感知、可追踪的完整闭环。它不追求技术的炫酷,而聚焦于技术如何安静地融入业务背景,成为推动企
    的头像 发表于 12-25 17:20 754次阅读
    告别加班!<b class='flag-5'>华为</b><b class='flag-5'>云</b><b class='flag-5'>Flexus</b> AI智能体,让效率提升95%的秘诀

    代码平台快速搭建冷链组态应用,实现全流程数字化管控

    冷链物流作为生鲜食品、医药疫苗等特殊商品的“生命线”,长期面临“温控精度低、全程追溯难、应急响应慢”的行业痛点。低代码平台凭借可视化开发、快速部署、灵活迭代的特性,为智慧冷链系统提供了高效构建
    的头像 发表于 09-10 15:40 761次阅读

    重塑未来农业:平台用“零代码搭建了第一座智能温室

    应运而生,为温室大棚的智能化管理提供了前所未有的解决方案,正在悄然改变着农业生产的面貌。 低代码平台零编程零成本搭建,拖拽式应用开发,跨设备数据关联,实现丰富的行业应用场景展示。让种
    的头像 发表于 09-03 17:07 900次阅读

    代码物联网平台是什么?看完这篇,你就领先一步

    在物联网技术快速渗透各行各业的今天,低代码物联网平台正成为打通设备互联、数据分析与业务应用的核心载体。它并非简单的技术叠加,而是融合了低代码开发、物联网协议适配、
    的头像 发表于 08-14 15:16 887次阅读

    从企业管理到行业创新:低代码平台的应用图谱

    应用,广泛渗透到企业运营与各行业发展的诸多环节。 企业运营管理:流程自动化与效率提升 在企业内部,低代码平台助力构建高效的运营管理体系。以办公自动化流程为例,通过简单的拖拽与配置,即可搭建
    的头像 发表于 08-13 16:26 677次阅读

    代码开发平台是什么?零编程零成本搭建

    联网平台作为连接物理设备与数字世界的核心枢纽,其功能设计围绕设备管理、数据流转、应用开发、业务赋能四大维度展开。 一、核心能力 低代码/零代码:通过可视化拖拽组件、预置模板、图形化逻
    的头像 发表于 07-31 15:25 959次阅读

    代码物联网平台功能解析:从设备接入到智能应用

    当传统物联网项目深陷“开发周期长、技术门槛高、数据孤岛多”的泥潭,低代码物联网平台正以“拖拽式开发、分钟级部署、多端无界协同”的能力,成为企业数字化转型的新基座。 低代码物联网
    的头像 发表于 07-31 15:23 1258次阅读

    ArkUI-X平台技术落地-华为运动健康(二)

    :内存与原生持平(或略高),具体表格数据如下所示: 整体实现效果 总结 通过引入ArkUI-X技术,使得华为运动健康应用三端平台复用健康模块代码,从而在三端交互一致的前提下提升开发效
    发表于 06-18 23:04

    ArkUI-X平台技术落地-华为运动健康(一)

    理解成为一个独立的内部数据存储模块,具备增、删、改、查健康数据以及实现端数据同步的功能)。但是由于历史原因,当前三端的数据平台无法做到代码复用,有各自的接口和逻辑实现,所以如何去除健康二级页面(如睡眠
    发表于 06-18 22:53