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

news2024/9/24 23:49:13

目录

前言

一、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.coloradmin.cn/o/2161809.html

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

相关文章

yolov8模型在猫脸关键点检测识别中的应用【代码+数据集+python环境+GUI系统】

yolov8模型在猫脸关键点检测识别中的应用【代码数据集python环境GUI系统】 yolov8模型在猫脸关键点检测识别中的应用【代码数据集python环境GUI系统】 背景意义 猫脸关键点检测是计算机视觉领域的一个重要研究方向&#xff0c;它基于深度学习、机器学习等技术&#xff0c;通过…

手机文件压缩与解压:节省流量的实用技巧

首先&#xff0c;节省存储空间是手机文件压缩的一大优势。随着我们拍摄照片、录制视频、下载文件等&#xff0c;手机的存储空间很容易被占满。 通过压缩文件&#xff0c;可以减小文件的大小&#xff0c;从而释放更多的存储空间。例如&#xff0c;一些大型的文档、图片和视频文…

MySQL:进阶巩固-存储过程

目录 一、存储过程的概述二、存储过程的基本使用2.1 创建存储过程2.2 使用存储过程2.3 查询指定数据库的存储过程以及状态信息2.4 查看某个存储过程的定义2.5 删除存储过程2.6 案例 三、存储过程的变量设置3.1 系统变量3.2 用户自定义变量3.3 局部变量 四、IF判断五、参数六、C…

自动化学习3:日志记录及测试报告的生成--自动化框架搭建

一.日志记录 1.配置文件pytest.ini&#xff1a;将日志写入文件方便日后查询或查看执行信息。 需要将文件处理器&#xff08;文件存放位置/时间/格式等等&#xff09;添加到配置文件中的【日志记录器】 # pytest.ini [pytest] # ---------------日志文件&#xff0c;需要配合…

虚拟机使用FileZilla软件实现文件互传

软件版本&#xff1a;FizeZilla 3.63.2 VirtualBox7.0.20 1.设置桥接模式(网卡) 2.查看ip 在控制台输入ifconfig 3.在终端打开控制台安装FTP服务 sudo apt-get install vsftpd 等待软件自动安装&#xff0c;安装完成以后使用 VI命令打开 /etc/vsftpd.conf&#xff0c;命令…

8086的指令系统

今天上午综测答辩结束&#xff0c;感觉就很一般&#xff0c;但是我昨晚也操心到觉都没睡好&#xff0c;今天中午舍友玩P5吵得我也没睡着&#xff0c;感觉脑袋昏昏沉沉&#xff0c;汇编上课没认真听讲&#xff0c;晚上来补一补。还是采用GPT来讲解&#xff08;水文字&#xff09…

Unity开发绘画板——02.创建项目

1.创建Unity工程 我们创建一个名为 DrawingBoard 的工程&#xff0c;然后先把必要的工程目录都创建一下&#xff1a; 主要包含了一下几个文件夹&#xff1a; Scripts &#xff1a;存放我们的代码文件 Scenes &#xff1a;工程默认会创建的&#xff0c;存放场景文件 Shaders &…

9.22日常记录

1.memccpy函数 memccpy是一个用于内存复制的函数&#xff0c;它的原型通常在<cstring>&#xff0c;memccpy函数的作用是从源内存区域复制字节到目标内存区域&#xff0c;直到遇到特定的字符或者复制了指定数量的字节为止。 返回值: 如果在复制过程中找到了指定的字符&am…

科大讯飞智能体Python SDK接入流程

第一步&#xff1a;注册账号​ 进入https://passport.xfyun.cn/login&#xff0c;根据提示注册或登陆账号。 ​ 第二步&#xff1a;创建智能体 进入这个网页创建智能体&#xff0c;填好信息&#xff1a; https://xinghuo.xfyun.cn/botcenter/createbot?createtrue&qu…

lkhgjfjghkbhjk

&#x1f4e2;博客主页&#xff1a;https://blog.csdn.net/2301_779549673 &#x1f4e2;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; 如有错误敬请指正&#xff01; &#x1f4e2;本文由 JohnKi 原创&#xff0c;首发于 CSDN&#x1f649; &#x1f4e2;未来很长&#…

http增删改查四种请求方式操纵数据库

注意&#xff1a;在manage.py项目入口文件中的路由配置里&#xff0c;返回响应的 return语句后面的代码不会执行&#xff0c;所以路由配置中每个模块代码要想都执行&#xff0c;不能出现return 激活虚拟环境&#xff1a;venv(我的虚拟环境名称&#xff09;\Scripts\activate …

ubuntu下检查端口是否占用问题,编写shell脚本检查端口是否占用

1.创建脚本 touch check_port.sh2.粘贴以下内容到check_port.sh中 #!/bin/bash# 检查端口是否被占用的函数 check_port() {local port80local result$(sudo lsof -i:$port)if [[ -z "$result" ]]; thenecho "端口 $port 未被占用。"elseecho "警告:…

水电站/水库大坝安全监测系统完整解决方案

一、背景 在当今社会&#xff0c;随着全球对清洁能源需求的日益增长&#xff0c;水电站作为可再生能源的重要组成部分&#xff0c;其安全稳定运行显得尤为重要。水电站&#xff0c;尤其是大型水库大坝&#xff0c;不仅承载着发电、防洪、灌溉等多重功能&#xff0c;还直接关系…

二分查找法求解一元三次方程组

本题使用二分查找求解 #include <iostream> #include <algorithm> #include <cmath> using namespace std;double a,b,c,d;// 求出方程的值 double f(double x) {return a*pow(x,3)b*pow(x,2)c*xd; }void find(double l,double r) {// 若精度在可控范围内…

每日一练:二叉树的层序遍历

102. 二叉树的层序遍历 - 力扣&#xff08;LeetCode&#xff09; 一、题目要求 给你二叉树的根节点 root &#xff0c;返回其节点值的 层序遍历 。 &#xff08;即逐层地&#xff0c;从左到右访问所有节点&#xff09;。 示例 1&#xff1a; 输入&#xff1a;root [3,9,20,n…

Python常见Json对比库deepdiff、json_tools、jsonpatch

对比两个json对象差异&#xff0c;常见的第三方对比库deepdiff、json_tools、jsonpatch都能够满足我们的需求。 用法&#xff1a; deepdiff from deepdiff import DeepDiffa {"name": "yanan", "pro": {"sh": "shandong"…

【微服务即时通讯系统】——etcd一致性键值存储系统,etcd的介绍,etcd的安装,etcd使用和功能测试

文章目录 etcd1. etcd的介绍1.1 etcd的概念 2. etcd的安装2.1 安装etcd2.2 安装etcd客户端C/C开发库 3. etcd使用3.1 etcd接口介绍 4. etcd使用测试4.1 原生接口使用测试4.2 封装etcd使用测试 etcd 1. etcd的介绍 1.1 etcd的概念 Etcd 是一个基于GO实现的 分布式、高可用、一致…

第十五章 文件上传

目录 一、文件上传注意点 二、JavaWeb上传文件的核心 三、常规的JavaWeb上传实现 四、运行效果 一、文件上传注意点 1. 为保证服务器安全&#xff0c;上传文件应该放在外界无法直接访问的目录下&#xff0c;比如放于WEB-INF目录下。 2. 为防止文件覆盖的现象发生&#xff…

[万字长文]stable diffusion代码阅读笔记

stable diffusion代码阅读笔记 获得更好的阅读体验可以转到我的博客y0k1n0的小破站 本文参考的配置文件信息: AutoencoderKL:stable-diffusion\configs\autoencoder\autoencoder_kl_32x32x4.yaml latent-diffusion:stable-diffusion\configs\latent-diffusion\lsun_churches-ld…

Unity图形用户界面!*★,°*:.☆( ̄▽ ̄)/$:*.°★* 。(万字解析)

Unity 3D GUI 简介 游戏开发过程中&#xff0c;开发人员往往会通过制作大量的图形用户界面&#xff08; Graphical User Interface&#xff0c;GUI &#xff09;来增强游戏与玩家的交互性。 Unity 3D 中的图形系统分为 OnGUI、NGUI、UGUI等&#xff0c;这些类型的图形系统内容…