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

目录

前言

一、Flexus云服务器X介绍

1.1 Flexus云服务器X实例简介

1.2 Flexus云服务器X实例特点

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

二、Flexus云服务器X购买

2.1 Flexus X实例购买

2.2 重置密码

2.3 登录服务器

三、Flexus X 实例安装GitLab

3.1 GitLab镜像下载

3.2 GitLab部署安装

3.3 GitLab配置

3.4 GitLab登录账号重置

四、GitLab验证

4.2 项目创建

4.3  ssh密钥配置

4.4 仓库克隆

4.4 代码提交

五、Flexus X性能监控

总结


前言

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

一、Flexus云服务器X介绍

1.1 Flexus云服务器X实例简介

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

e9493b1e074c4f04b1649494d43aadae.png

1.2 Flexus云服务器X实例特点

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

057cba789b9048b0b0e6d75ce961d803.png

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

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

  • 企业建站:面向博客、论坛,和企业门户等业务场景,帮助企业传播价值信息,促进信息共享和交流,支撑用户建设多功能的传播和交互平台。
  • ​​​​​电商直播:基于X实例搭建电商交易平台,可以从容面对电商市场瞬息万变对的业务压力变化。
  • 个人开发测试:开发者在开发、测试过程中需要的环境资源,可以选择从云上提供。基于X实例搭建开发测试环境,更加便利,成本更优。
  • 游戏服务器:适用于搭建游戏后台服务器,强大算力轻松应对千人同时在线,同时平滑扩容可快速应对服务器玩家数量上涨诉求,超强的网络加速能力提升用户体验

二、Flexus云服务器X购买

2.1 Flexus X实例购买

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

8b5e99e4e6174443bb2d3f7b33dabbd5.png

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

6da673ffb8ea4671b37feda06f25f161.png

2.2 重置密码

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

cd2a2ee5f8d244e9af0248cc91adb279.png

2.3 登录服务器

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

995421377f2f4713ab56d2a8d8c16064.png

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

三、Flexus X 实例安装GitLab

3.1 GitLab镜像下载

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

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

docker pull gitlab/gitlab-ce

3.2 GitLab部署安装

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

mkdir -p /mydata/gitlab/config
mkdir -p /mydata/gitlab/logs
mkdir -p /mydata/gitlab/data

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

docker run \
-p 443:443 \
-p 8081:80 \
-p 8022:22 \
--name gitlab \
--restart always \
-v /mydata/gitlab/config:/etc/gitlab \
-v /mydata/gitlab/logs:/var/log/gitlab \
-v /mydata/gitlab/data:/var/opt/gitlab  \
-d gitlab/gitlab-ce
  • 443 端口: 用于安全的 HTTPS Web 访问。
  • 8081 端口: 用于普通的 HTTP Web 访问(非加密),后续通过浏览器访问 http://<your-server-ip>:8081 来访问 GitLab 的 Web 界面。
  • 8022 端口: 用于 SSH 连接,以便进行远程管理和 Git 操作,后续克隆代码使用。

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

3.3 GitLab配置

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

vim /mydata/gitlab/config/gitlab.rb

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

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

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

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

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

gitlab_rails['gitlab_shell_ssh_port'] = 22

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

3.4 GitLab登录账号重置

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

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

docker exec -it gitlab /bin/bash

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

gitlab-rails console -e production

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

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

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

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


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

user.password='root@#'

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


user.save!

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

所以重新设置为:qwertyu1234!

user.password='qwertyu1234!'

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

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

exit

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

四、GitLab验证

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

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

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

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

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

4.2 项目创建

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

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

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

4.3  ssh密钥配置

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

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

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

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

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

4.4 仓库克隆

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

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

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

4.4 代码提交

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

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

git add .
git commit -m '华为云征文'

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

git push origin master

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

五、Flexus X性能监控

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

总结

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

🎉华为云828 B2B企业节震撼来袭!Flexus X实例特惠狂欢,一年仅此一次!🎁

对于追求极致算力性能,渴望在自建MySQL、Redis、Nginx等方面实现性能飞跃的企业与个人,Flexus X实例的限时特惠活动正是您翘首以盼的机遇。别再犹豫,立即抓住这个黄金时刻,让您的业务飙升到新的高度!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1544832.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

Arthas mbean(查看 Mbean 的信息)

文章目录 二、命令列表2.1 jvm相关命令2.1.10 mbean&#xff08;查看 Mbean 的信息&#xff09;举例1&#xff1a;列出所有 Mbean 的名称&#xff1a;举例2&#xff1a;查看 Mbean 的元信息&#xff1a;举例3&#xff1a;查看 mbean 属性信息&#xff1a;举例4&#xff1a;mbea…

游戏化在电子课程中的作用:提高参与度和学习成果

游戏化&#xff0c;即游戏设计元素在非游戏环境中的应用&#xff0c;已成为电子学习领域的强大工具。通过将积分、徽章、排行榜和挑战等游戏机制整合到教育内容中&#xff0c;电子课程可以变得更具吸引力、激励性和有效性。以下是游戏化如何在转变电子学习中发挥重要作用&#…

基于Vue3组件封装的技巧分享

本文在Vue3的基础上针对一些常见UI组件库组件进行二次封装&#xff0c;旨在追求更好的个性化&#xff0c;更灵活的拓展&#xff0c;提供一些个人的思路见解&#xff0c;如有不妥之处&#xff0c;敬请指出。核心知识点$attrs,$slots 需求 需求背景 日常开发中&#xff0c;我们经…

【React】(推荐项目)使用 React、Socket.io、Nodejs、Redux-Toolkit、MongoDB 构建聊天应用程序 (2024)

使用 React、Socket.io、Nodejs、Redux-Toolkit、MongoDB 构建聊天应用程序 (2024) 学习使用 React、Socket.io、Node.js、Redux-Toolkit 和 MongoDB 构建响应式实时消息聊天应用程序。这个项目涵盖了从设置到实施的所有内容&#xff0c;提供了宝贵的见解和实用技能。无论您是…

P2568 GCD(GCD求和的常用变化 欧拉函数)

通过/p改变为互质的情况 维护欧拉函数前缀和即可。 GCD - 洛谷 #include<bits/stdc.h> using namespace std; const int N 1e78; vector<int> pri; bool not_prime[N]; long long phi[N]; long long sum[N]; void pre(int n) {phi[1] 1;for (int i 2; i < …

plt常用函数介绍一

目录 前言plt.figure()plt.subplot()plt.subplots()plt.xticks()plt.xlim() 前言 Matplotlib是Python中的一个库&#xff0c;它是数字的-NumPy库的数学扩展。 Pyplot是Matplotlib模块的基于状态的接口。在Pyplot中可以使用各种图&#xff0c;例如线图&#xff0c;轮廓图&#…

关于区块链的安全和隐私

背景 区块链技术在近年来发展迅速&#xff0c;被认为是安全计算的突破&#xff0c;但其安全和隐私问题在不同应用中的部署仍处于争论焦点。 目的 对区块链的安全和隐私进行全面综述&#xff0c;帮助读者深入了解区块链的相关概念、属性、技术和系统。 结构 首先介绍区块链…

AI大模型项目实战v0.2: 结合个人知识库

前言 在AI大模型项目实战v0.1版本中&#xff0c;我们实现了一个最简单的基于纯LLM的问答机器人Tbot。 今天升级到v0.2版本&#xff0c;结合个人知识库。 本系列每个版本&#xff0c;都将提供完整的代码文档&#xff0c;获取方法见文末。 下面开启我们的v0.2版本之旅。 v0.2 Tb…

如何用AI实现自动更新文章?(全自动更新网站)

AI的诞生确实给我们的生活和工作都带来了很大的改变&#xff0c;从我自身来讲&#xff0c;也渐渐习惯了遇到事情先问问AI&#xff0c;不管是翻译、专业性问题、PPT制作、总结写作这些&#xff0c;确实帮我迅速理清了思路&#xff0c;也可以有很多内容的借鉴。 作为一个业余爱好…

力扣 简单 206.反转链表

文章目录 题目介绍题解 题目介绍 题解 法一&#xff1a;双指针 在遍历链表时&#xff0c;将当前节点的 next 改为指向前一个节点。由于节点没有引用其前一个节点&#xff0c;因此必须事先存储其前一个节点。在更改引用之前&#xff0c;还需要存储后一个节点。最后返回新的头引…

鸿蒙OpenHarmony【小型系统基础内核(进程管理任务)】子系统开发

任务 基本概念 从系统的角度看&#xff0c;任务Task是竞争系统资源的最小运行单元。任务可以使用或等待CPU、使用内存空间等系统资源&#xff0c;并独立于其它任务运行。 OpenHarmony 内核中使用一个任务表示一个线程。 OpenHarmony 内核中同优先级进程内的任务统一调度、运…

14.第二阶段x86游戏实战2-C++语言开发环境搭建-VisualStudio2017

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 本次游戏没法给 内容参考于&#xff1a;微尘网络安全 本人写的内容纯属胡编乱造&#xff0c;全都是合成造假&#xff0c;仅仅只是为了娱乐&#xff0c;请不要…

复制他人 CSDN 文章到自己的博客

文章目录 0.前言步骤 0.前言 在复制别人文章发布时&#xff0c;记得表明转载哦 步骤 在需要复制的csdn 文章页面&#xff0c;打开浏览器开发者工具&#xff08;F12&#xff09;Ctrl F 查找"article_content"标签头 右键“Copy”->“Copy element”新建一个 tx…

【直线 / B】

题目 代码&#xff08;巨复杂&#xff0c;跑了我十几分钟&#xff09; #include <bits/stdc.h> using namespace std; const double eps 1e-6; const int N 18e6; #define x first #define y second typedef pair<int, int> PII; int line; PII p1[N]; PII p2[N…

React开发环境搭建以及常见错误解决

‌React开发环境搭建主要包括Node.js安装、编辑器选择、创建React项目等步骤‌。 Node.js安装‌ 从Node.js官网下载并安装最新版本的Node.js&#xff0c;安装过程中npm会自动安装。安装完成后&#xff0c;通过命令行输入node -v和npm -v检查安装是否成功。 carawang%node -v…

transformer模型写诗词

加入会员社群&#xff0c;免费获取本项目数据集和代码&#xff1a;点击进入>> 1. 项目简介 该项目是基于A035-transformer模型的诗词生成系统&#xff0c;旨在通过深度学习技术实现古诗词的自动化创作。项目的背景源自当前自然语言处理领域的迅速发展&#xff0c;特别是…

C++【类和对象】(构造函数与析构函数)

文章目录 1. 类的默认成员函数2. 构造函数析构函数的特点3. 析构函数析构函数的特点 结语 1. 类的默认成员函数 默认成员对象就是我们没有显示的写&#xff0c;但是编译器会自动生成的成员函数。一个类&#xff0c;我们不写的情况下编译器会默认生成以下6个成员函数&#xff0…

解决Nodify框架因自带放大缩小、平移功能导致拖拽添加的控件无法准确在鼠标放下的位置显示控件

ViewModel中写具体关键的几段代码&#xff1a; var editor sender as NodifyEditor; Point p e.GetPosition(editor);//放大缩小比例double scale editor.ViewportZoom;//经过放大缩小、平移后获得坐标点位置p new Point(Math.Round((p.X - editor.ViewportT…

响应式布局-媒体查询父级布局容器

1.响应式布局容器 父局作为布局容器&#xff0c;配合自己元素实现变化效果&#xff0c;原理&#xff1a;在不通过屏幕下面吗&#xff0c;通过媒体查询来改变子元素的排列方式和大小&#xff0c;从而实现不同尺寸屏幕下看到不同的效果。 2.响应尺寸布局容器常见宽度划分 手机-…

【Python】工具使用

pycharm Jupyter Notebook 参考文献 详解Jupyter Notebook (qq.com) python专业集成开发环境pycharm安装使用 (qq.com)