麻了!一觉醒来,代码全挂了。。

作为⼀名程序员,相信大家平时都有代码托管的需求。

相信有不少同学或者团队都习惯把自己的代码托管到GitHub平台上。

但是GitHub大家知道,经常在访问速度这方面并不是很快,有时候因为网络问题甚至根本连网站都打不开了,所以导致使用体验并不友好。

经常一觉醒来,居然发现我竟然看不到我自己上传的代码了。。

那在国内,除了GitHub,另外还有一个比较常用的Gitee平台也可以用于托管代码。

Gitee访问速度倒是没问题,但是Gitee的免费版功能有限,在仓库容量、文件大小、团队协作研发管理等这块的高阶功能会有所限制,所以导致使用起来也会颇受限制。

再加上像代码这种重要数据放在别人的平台上总会有一些数据安全方面的担忧。

基于这些种种因素考虑,老规矩,我们还是决定自己动手来搭建一个企业级云端代码仓库。

说干就干,接下来我们就来上手实践

材料准备

关于代码托管平台,我们这里选择的是可以支持私有化部署的GitLab,相信应该有不少小伙伴或者团队都在使用。

这是一个企业级代码托管平台,功能很全,而且重点是支持个人私有化部署,这一点比较难得。

网上一搜,GitLab的安装方式有很多,可以通过安装包,也可以通过Docker镜像。但无论如何也得各种环境和配置搞一通,总体来说还是太麻烦了。

所以接下来我们将介绍一种更为优雅和快速的搭建方法,需要的素材很简单,那就是一台服务器。

以华为云为例,这里选用的是华为云Flexus X实例,它的快速入口如下(复制到浏览器打开即可):

https://www.huaweicloud.com/product/flexus-x.html

页面地址:https://www.huaweicloud.com/product/flexus-x.html

Flexus系列是原华为云耀系列的品牌及产品升级。在这次华为HDC2024的「Flexus 云服务暨柔性计算黑科技发布会」上,华为云发布了一系列Flexus云服务产品,包括大家已经比较熟悉的Flexus L实例(原云耀L实例)、Flexus X实例、Flexus云容器实例、Flexus云数据库RDS。

其中Flexus X实例则是华为云推出的新一代开箱即用、体验跃级的云服务器,基于创新柔性计算技术打造,汇集了很多华为云新推出的黑科技,面向大多数通用工作负载场景,性能出众,极具品价比。

如官网所述:

华为云Flexus X实例有几个主要特性:首先是1.6倍算力,内嵌智能应用调优算法和底层多重调优加速,GeekBench单核及多核跑分可达业界同规格独享型实例1.6倍;其次,能够实现综合降本30%,其首创智能资源预画像,帮助用户在华为云上推荐匹配的资源规格,实现迁移降本;业界首创CPU内存规格柔性定义,支持100+规格组合,匹配业务实际需求;第三,关键应用6倍加速,独有X-Turbo加速技术+大模型智能调度,针对 Nginx、MySQL、Redis 等常见应用做特殊优化,能够发挥更强效力;最后,旗舰级可靠性,拥有与华为云旗舰级云服务器产品相同的单AZ 99.975% 可用性,跨AZ 99.995%可用性,还可搭载多版本主机安全服务。

实不相瞒,每次看到这种性能强价格优的云服务器,都忍不住想来薅一把(手动doge)。

等下演示时我们就能看到,在Flexus X实例上面配置网站、跑数据库、部署应用都非常方便。

所以接下来,我们就来上手演示,看怎么把它用起来。

上手实践

实例化部署平台

首先我们直接访问华为云Flexus X实例的快速入口(复制到浏览器打开即可):

https://www.huaweicloud.com/product/flexus-x.html

可以按需初始化一台服务器实例,用作部署云端代码仓库的线上平台。

配置部分其实大家根据自己需求进行选择即可,这里有两个地方需要注意。

第一个是**【实例规格】**。

这里我选了一台2核4G的服务器。

众所周知,为了简化云资源管理与调度,云厂商通常设计了固定比例的算力规格供用户选择。

而这次我们使用的Flexus X实例则打破了规格固定配比,支持柔性算力随心配,可以做到算力规格量身定制,提供100+种规格组合,能以1U为单位进行调整,以帮助用户选到更契合自己业务的配置。

讲真,这个选规格的过程,还挺魔性的。

另外一个需要注意的地方就是**【镜像】**。

大家可以选择经典的CentOS、Ubuntu等Linux系统。

也可以选择华为云所独有的HCE操作系统,也即Huawei Cloud EulerOS,大家如果之前用过CentOS等Linux的话,那在这里也可以无缝切换过来。

除此之外,选择了HCE系统的另外一个好处就是该系统支持应用加速

Flexus X实例结合HCE系统,可以支持对MySQL、Redis、Nginx等关键应用进行性能加速,从而带来更跃级的使用体验。

实例化Flexus X实例时,只要选中对应的应用加速选项,即可获得开箱即用的最优性能。

然后剩余的其他部分大家按需进行选择和配置即可。

等待实例创建完成以后,接下来我们就可以通过给出的公网IP地址来远程连接上去进行服务器管理。

我们可以通过控制台自带的CloudShell来进行远登录:

也可以通过Secure CRT等SSH工具来进行远程连接管理:

安装宝塔面板

众所周知,宝塔面板是一款使用方便、功能强大的服务器运维管理工具,支持多平台和多系统。

那我们这一次也选用宝塔面板来实现应用的快速部署和管理。

在Flexus X实例上安装宝塔面板非常方便,只需在命令行执行一行代码即可实现:

yum install -y wget && wget -O install.sh https://download.bt.cn/install/install_6.0.sh && sh install.sh ed8484bec

安装完成后,等待出现如下信息即代表安装成功。

其中会给出宝塔面板的登录地址+端口,而下方的username和password则为宝塔面板的登录用户名和密码。

理论上来说,拿到了宝塔面板的登录地址之后,我们就可以在浏览器进行登录访问了,不过在此之前我们还需要完成一项配置,那就是:在Flexus X实例的安全组里放通宝塔面板的端口号。

我们回到Flexus X实例控制台,单击实例名称,选组“安全组”Tab页,然后进行规则配置。

选中“入方向规则”Tab页,点击“添加规则”,然后放通宝塔面板对应的端口号即可。

完成之后,我们再打开浏览器,输入上述宝塔面板的访问地址即可登录宝塔面板进行操作了。

那至此为之,我们就已经成功实现在Flexus X实例安装并登录宝塔面板,接下来我们就可以通过宝塔面板来部署更多应用了。

部署云端代码仓库

有了上一步已经就绪的宝塔面板,接下来我们就可以正式部署我们所需要的GitLab云端代码仓库了。

我们点击宝塔面板左侧的【软件商店】,我们可以直接在搜索栏中搜索“GitLab”来找到对应的应用安装镜像。

然后我们选中GitLab最新社区版进行安装即可。

此时宝塔面板就会帮助我们一键自动安装GitLab,非常方便,稍等片刻,安装过程就会完成。

这时候我们在设置中就可以拿到GitLab代码仓库的云端地址了。

注意:和前步骤一样,我们在正式访问云端代码仓库之前也需要在Flexus X实例的安全组规则中来放通GitLab服务对应的端口。

至此为止,大功告成,一个属于我们自己的云端代码仓库就顺利地在Flexus X实例上部署完成了!

大家也可以使用同样的方式在Flexus X实例上来部署各种其他应用以及软件环境。

接下来,我们来看一看Flexus X实例上云端代码仓库上线后的体验效果。

效果展示

打开浏览器,输入GitLab云端代码仓库的访问地址,就可以打开代码仓库登录界面。

登入后则可以看到如下主界面。

我们可以先在Preference里面做一些设置,包括修改系统语言以及相关页面的主题美化,然后就可以直接使用了。

可以看到,我们可以选择创建一个新的代码项目或者新的群组。

而在创建新代码项目时,既可以选择创建新项目来上传管理代码。

也可以选择直接同步GitHub上的项目代码仓库,非常方便。

可以看到,自建云端代码仓库的一大优势就是数据可控,个人和团队都能使用,对于私有内部项目也可以免费创建和使用。

除此之外,它还支持像持续集成、CI/CD流水线、监控、项目管理、Wiki等一系列团队代码项目所具备的各项功能。

大家可以根据自己的需求来定制使用。

性能提升实测

我们在选用华为云Flexus云服务器X实例时,一个非常重要的点就是它支持关键应用的性能加速

当我们在选配Flexus云服务器X实例时,可以选择HCE系统(Huawei Cloud EulerOS),Flexus X实例结合HCE,可以支持对MySQL、Redis、Nginx等关键应用进行性能加速,从而带来更跃级的使用体验。

换句话说,配置Flexus X实例时,我们只要选择对应的应用加速,即可获得开箱即用的最优性能。

为了验证该特性,我们这里就以MySQL为例来做一项性能压测对比测试

当我们在选购Flexus X实例时选择了HCE操作系统,并且勾选了MySQL应用加速。

那登录Flexus X实例后就会看到系统已经默认为我们安装了经过加速和优化后的MySQL 8.0.35版本。

作为实验对比组,这里选用一台同样安装了MySQL 8的其他云平台同样配置(2核4G)的业界U系列独享型实例来作为测试对比机器。

我们选用性能测试平台sysbench来作为MySQL性能压测工具。

首先我们分别在两台服务器上运行如下命令来构造测试表和数据。

sysbench --db-driver=mysql --threads=10 --mysql-host=127.0.0.1 --mysql-port=3306 --mysql-user=root --mysql-password=123456 --mysql-db=test --tables=10 --table_size=100000 oltp_read_write --db-ps-mode=disable prepare

然后再分别在两台服务器上来运行如下命令来对各自部署的MySQL应用进行性能压测。

sysbench --db-driver=mysql --time=10 --threads=10 --report-interval=1 --mysql-host=127.0.0.1 --mysql-port=3306 --mysql-user=root --mysql-password=123456 --mysql-db=test --tables=10 --table_size=100000 oltp_read_write --db-ps-mode=disable run

我们对比一下各自机器上MySQL的性能压测结果:

从压测数据对比可以看出,不论是MySQL数据库的读、写、事务等请求数据,还是Latency时延数据,华为云Flexus X实例上的MySQL性能很明显要高于其他同配置的测试对比机器。

当然,这里只是一个简单的压测,不同配置的Flexus X实例在MySQL的加速性能也有一些差异。按照华为HDC2024的「Flexus 云服务暨柔性计算黑科技发布会」上的现场实测展示,Flexus X实例的MySQL 性能最高可达业界同规格独享型实例的6倍,确实很惊艳。

背后的原因非常简单,因为Flexus X实例聚合了华为云项目长期的实战经验,并对关键应用进行了专门的应用调优。

所以这就使得对于同配置机器,华为云Flexus X实例可以承载更多的数据读写业务请求,从而更进一步降低上云成本。

写在最后

这篇文章我们主要是记录和梳理了一种非常方便且优雅的基于Flexus X实例自建云端代码仓库的方式,主打的就是一个方便和好上手。

一路使用下来,华为云Flexus X实例还是非常容易上手的,尤其是柔性算力应用加速这一块相较于传统的云服务器确实非常有优势。

再加上Flexus X实例的智能动态业务画像功能,在云服务器用量比较多的ERP/OA、SaaS集群部署、Web/App/小程序部署等实际业务场景,按照华为云的数据,搬迁到Flexus X实例上就能有30%的成本节省。
聊了这么多,落实到应用上,还是得自己上手实践一波。

感兴趣的小伙伴可以自己来尝试一波,现在华为云也提供了Flexus云服务的体验官计划,可以免费申请Flexus X实例测试使用,具体快速入口如下(复制到浏览器打开即可):

https://www.huaweicloud.com/product/flexus-x.html

大家有兴趣也可以试一试,相信会打开一个新世界的大门。

注:本文在GitHub开源仓库「编程之路」 https://github.com/rd2coding/Road2Coding 中已经收录,里面有我整理的6大编程方向(岗位)的自学路线+知识点大梳理、面试考点、我的简历、几本硬核pdf笔记,以及程序员生活和感悟,欢迎star。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

计算机Java项目|基于SpringBoot的厨艺交流平台设计与实现

作者主页:编程指南针 作者简介:Java领域优质创作者、CSDN博客专家 、CSDN内容合伙人、掘金特邀作者、阿里云博客专家、51CTO特邀作者、多年架构师设计经验、腾讯课堂常驻讲师 主要内容:Java项目、Python项目、前端项目、人工智能与大数据、简…

STM32介绍和资料地址

STM32标准外设软件库 https://www.st.com.cn/zh/embedded-software/stm32-standard-peripheral-libraries.html 支持标准外设库的产品系列:

GWB—200JA型引伸计标定器

GWB一200JA型引伸计标定器,是一种纯机械式的高精度位移测微仪器。依据JJG762—2007引伸计检定规程要求,专门用于对各类引伸计的标定,也广泛用于位移传感器的检定及相应百分表、千分表的标定。 l、本仪器由精密微分测头及测量支架组成。该标定…

内网使用nexus3搭建npm私库方法

内网使用nexus3搭建npm私库大致分为下载tgz和批量上传两个步骤。如下。 第一步,批量下载tgz依赖。 新建一个文件夹,比如download;拷贝出项目中package.json或者package-lock.json。放进download文件夹中;确保电脑本地已经安装好n…

盛元广通数字孪生智能集控实验室管理系统

盛元广通数字孪生智能集控实验室管理系统可广泛应用于各类实验室场景,包括科研实验室、教学实验室、工业实验室等。通过实时监测、预测性维护、故障诊断与优化等功能,该系统能够提高实验室的运行效率、安全性和可靠性,降低运维成本。设计直观…

找出一个整型数组中的元素的最大值

这个问题在之前的文章中曾用其他方法解决,现在用类来处理,读者可以比较不同方法的特点。 编写程序: 运行结果: 程序分析: 程序看起来比较长,其实并不复杂,它包括以下3部分:…

C++必修:模版的入门到实践

✨✨ 欢迎大家来到贝蒂大讲堂✨✨ 🎈🎈养成好习惯,先赞后看哦~🎈🎈 所属专栏:C学习 贝蒂的主页:Betty’s blog 1. 泛型编程 首先让我们来思考一个问题,如何实现一个交换函数&#x…

scrapy模块的基础使用

scrapy模块是爬虫工作者最常用的一个模块之一,因它有许多好用的模板,和丰富的中间件,深受欢迎。 一,scrapy的安装 可以通过pypi的指引进行安装 在终端内输入以下代码: pip install scrapy 二,项目的建…

hive优化之逻辑类似or逻辑重复

今天拿到一个二次开发的需求,只是增加一个业务类型,开发起来倒是也蛮轻松。 但是,对自己的要求不难这么低,否则可替代性也太高了。 除了完成自己的那部分开发,当然展现自己实力的,可以是优化。 1&#x…

笔记:记录状态并判重的方法

题目(八数码问题) 编号为1-8的8个正方形滑块被摆成3行3列(有一个格子留空),如下图所示 81573642 每次可以把与空格相邻的滑块(有公共边才算相邻)一道空格中,而它原来的位置就成为…

AWS中国IAM用户强制使用MFA

问题 需要对IAM用户强制使用MFA方式进行登陆。 步骤 创建强制MFA登陆策略 找到策略创建入口,如下图: 将下述内容json策略内容,复制到编辑器里面,具体内容和操作如下: {"Version": "2012-10-17&qu…

JVS开源底座与核心引擎的全方位探索,助力IT智能、高效、便捷的进化

引言 JVS产品的诞生背景 JVS是软开企服构建的一站式数字化的解决方案,产生的背景主要来源于如下几个方面: 企业数字化需求的增长:企业对IT建设的依赖程度越来越高,数字化、指标化的经营已经是很多企业的生存的基础和前提&#…

工控 UI 风格美轮美奂

工控 UI 风格美轮美奂

揭秘未来艺术:AI绘画工具全面介绍

📑前言 随着科技的飞速发展,人工智能(AI)已经逐渐渗透到我们生活的方方面面。在艺术创作领域,AI技术同样展现出了其独特的魅力。今天,我们就来一起探索这个神秘而引人入胜的领域,深入了解AI绘画…

车联网全方位安全适配与领先架构

设想一下如下场景: 您钟爱的座驾,在毫无外力破坏迹象的情况下,突然被侵入,远程启动,然后绝尘而去… 别以为这只是大银幕上的虚构桥段,事实上,这一幕在现实中已经上演。 某款备受欢迎的车型&a…

1.搭建SpringBoot项目三种方式

目录 1.使用Spring Initializr 1.1访问Spring Initializr: 1.2填写项目基本信息 1.3配置项目元数据: 1.4添加依赖: 1.5生成项目: 1.6下载项目: 1.7解压项目: 1.8导入项目到IDE: 1.9运行项目: 1.10创建控制器: 1.11访问应用 2.使用IDE(集成开发环境&…

测试基本原则-系统架构师(十六)

1、人口信息的采集处理和利用业务属于()。户籍管理属于()。 问题1问题2 A政府对公民 B政府对政府 C政府对企业 D公民对政府 解析:人口信息的采集处理和利用属于政府对政府,户籍属于政府对公民 答案&am…

替代LTC3855双通道多相带差分遥测DC-DC同步控制器

特性:双通道、180 定相控制器降低了所需的输入电容和电源感应噪声高效率:达 95%RSENSE 或 DCR 电流检测可编程 DCR 温度补偿0.75%、0.6V 输出电压准确度可锁相固定频率:250kHz 至 770kHz真正的远端采样差分放大器双路 N 沟道 MOSFET 同步驱动宽 VIN 范围…

对于todesk共享剪切板不好用的问题记录

todesk 远程复制粘贴 共享剪切版 1.对于已经开启todesk里面的共享剪切板设置的2. 如果此时仍不能远程复制粘贴,可以考虑查看快捷键映射的问题 1.对于已经开启todesk里面的共享剪切板设置的 2. 如果此时仍不能远程复制粘贴,可以考虑查看快捷键映射的问题 …

混合密码系统解析

1. 概述 混合密码系统(hybrid cryptosystem)是将对称密码和非对称密码的优势相结合的方法。一般情况下,将两种不同的方式相结合的做法就称为混合(hybrid)。用混合动力汽车来类比的话,就相当于是一种将发动机(对称密码)和电动机(非对称密码)相结合的系统。 混合密码系…