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

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

3天内不再提示

云端代码管理新体验,华为云 Flexus X 实例上 GitLab 部署与使用的实战指南云端代码管理新体验

jf_21561199 来源:jf_21561199 作者:jf_21561199 2025-01-07 17:05 次阅读

前言****

华为云 Flexus X 云服务器携手 GitLab,为开发者和企业带来了云端部署的全新选择。Flexus X 实例以其灵活高效的柔性算力,结合 GitLab 强大的版本控制、CI/CD 等功能,为企业打造高效、安全的研发环境。正值 828 华为云企业上云节,我们一同体验这一强强联合的云端解决方案。Flexus X 的高性价比与 GitLab 的先进项目管理工具,将助您实现快速上云、高效开发,推动企业数字化进程加速前行。

链接直达:华为云Flexus云服务器X实例

wKgZO2d87mmAI08cAAEA43MSbXE071.png

gitlab 介绍****

GitLab是一个开源的一体化 DevOps 平台,具有代码托管、代码审查、持续集成与持续部署(CI/CD)、问题跟踪、Wiki 和文档管理以及安全与权限管理等功能。它提供安全可靠的代码存储仓库,支持强大的分支管理和标签功能;允许团队成员进行代码审查和评论,跟踪代码变更历史;内置 CI/CD 工具,可定义各种任务阶段;用于记录和跟踪问题、缺陷和任务,并支持分配、设置优先级和截止日期等;允许创建和维护项目文档和 Wiki 页面;提供细粒度的权限控制和多种身份验证方式,还具有安全审计功能。总之,GitLab 能帮助团队提高代码质量,实现高效的协作和项目管理。

官方网站:https://about.gitlab.com/

wKgZPGd87mmAHR9SAADkbZuSo_c899.png

环境规划****

部署流程****

拉取镜像****

[root@flexusx-251f~]# docker pull gitlab/gitlab-ce

Usingdefault tag: latest

latest:Pulling from gitlab/gitlab-ce

857cc8cb19c0:Pull complete

2abc51628ee2:Pull complete

a098af47633d:Pull complete

79eb1bbe5e7f:Pull complete

45c3937be5ff:Pull complete

052407fbe787:Pull complete

a57c8c923e60:Pull complete

65ef322a34d3:Pull complete

807b20aca09b:Pull complete

Digest:sha256:9e0d464e7c5fc03e29af190802708fd9270136ef0c423dba8ee7ad1f8480ea48

Status:Downloaded newer image for gitlab/gitlab-ce:latest

docker.io/gitlab/gitlab-ce:latest

创建容器****

3001 做管理页面端口,3002 做 ssh 端口,拉去项目代码使用

[root@flexusx-251f~]# mkdir -p/gitlab/etc

[root@flexusx-251f~]# mkdir -p/gitlab/opt

[root@flexusx-251f~]# mkdir -p/gitlab/log

[root@flexusx-251f~]# docker run -itd

-p 3001:80

-p 3002:22

-v /gitlab/etc:/etc/gitlab

-v /gitlab/log:/var/log/gitlab

-v /gitlab/opt:/var/opt/gitlab

--restart always

--privileged=true

--name gitlab

gitlab/gitlab-ce:latest

ad00474916beb674b2bd3da2e29018d739247252bd5f1612d94c711a4729f5a1

查看容器运行状态

[root@flexusx-251f~]# docker ps|grepgit

ad00474916begitlab/gitlab-ce:latest "/assets/wrapper"7 seconds ago Up 6 seconds(health:starting)443/tcp,0.0.0.0:3002->22/tcp, :::3002->22/tcp, 0.0.0.0:3001->80/tcp, :::3001->80/tcp gitlab

修改配置文件****

docker 安装 gitlab,创建项目时,默认项目 URL 访问地址显示的是容器主机地址(容器 id),所以我们需要修改为一个固定可以外部访问的地址及宿主机地址,这样才可以进行 pull/push 代码

[root@flexusx-251f~]# vim /gitlab/etc/gitlab.rb

# 大概在 32 行,取消 external_url 注释,地址为宿主机地址,不需要设置端口

32 # external_url 'GENERATED_EXTERNAL_URL'

33external_url 'http://123.249.27.118'

# 大概在 69 行,修改为 ssh 主机 ip

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

68gitlab_rails['gitlab_ssh_host']= '123.249.27.118'

# 大概在 700 行,修改 ssh 连接端口

700 # gitlab_rails['gitlab_shell_ssh_port'] = 22

701gitlab_rails['gitlab_shell_ssh_port']= 3002

创建项目****

点击左侧导航栏 projects,点击 create a project

wKgZO2d87mmASafGAADDTHTwmPs532.png

点击 create blank project,创建一个空项目

wKgZPGd87mqAWEiNAADh1v0tEm0881.png

自定义项目名称(project name),选择组或者命名空间,能见度生产环境一般为私有的,我们在这也选择 private,之后点击 create project

wKgZO2d87mqAHnP-AAFCLaBhfUg816.png

创建项目成功

wKgZPGd87mqAY6KwAAF-Ae9iQrc203.png

创建用户****

点击左下角设置 admin,选择 new user

wKgZO2d87muANg8fAAFVYQpLKj0410.png

输入用户名、邮箱信息

wKgZPGd87muALHHLAADzZxm5tvw411.png

创建成功,点击 edit 进行编辑设置密码

wKgZO2d87myANpWFAADtgG42_AM347.png

输入完成,点击 save changes

wKgZPGd87myAZuvbAADbDxvFkl4602.png

邀请用户****

将用户加入到项目中来,进入项目,点击左侧导航栏 Manage,点击二级菜单 Members,之后点击右上角 invite members

wKgZO2d87myAG8MSAADXBS0sIlg326.png

选择用户,选择角色,并设置过期时间,之后点击 invite

wKgZPGd87m2AT5ytAAEM3dtGg0s938.png

添加成功

wKgZO2d87m2ABSaOAAD1PhysIW4605.png

wangwu 用户登录进行测试,首次登入需要修改密码

wKgZPGd87m2ALiToAACR_xTZ0tY791.png

在该用户可以看到之前创建的项目,已经有了对应的权限

拉取项目****

配置 git**

在华为云实例上安装 git

[root@flexusx-251f~]# yum install -ygit

git 客户端要连接仓库,就要先生成 ssh key,ssh key 有公钥和私钥,生成后把公钥填到 git 站点上,现在生成 ssh key

设置用户名

•admin01 为自己的用户名,可以随便填,注意提交记录的时候会显示这个用户名

[root@flexusx-251f~]# git config --globaluser.name 'admin01'

设置邮箱

•这个邮箱也是可以随便填,一般填员公在公司的邮箱

[root@flexusx-251f~]# git config --globaluser.email 'admin01@qq.com'

生成 ssh key

•输入命令之后,一直默认回车即可

[root@flexusx-251f~]# ssh-keygen -trsa -C"admin01@qq.com"

Generatingpublic/private rsa key pair.

Enterfile in which to save the key(/root/.ssh/id_rsa):

Enterpassphrase(emptyfor no passphrase):

Entersame passphrase again:

Youridentification has been saved in /root/.ssh/id_rsa

Yourpublic key has been saved in /root/.ssh/id_rsa.pub

Thekey fingerprint is:

SHA256:dYROjGaOek4RJcFLmlau+NkmX9MXe7wDUh4QQk2GP1Madmin01@qq.com

Thekey's randomart image is:

+---[RSA 3072]----+

| .o+++o. || =.=o.E |

| * B +.o. |

| + = ..=.o |

| o o .S =.. |

| . o o .. o+ |

| . * o ..o.o |

| + +. . . ... |

| +. .. |

+----[SHA256]-----+

[root@flexusx-251f ~]# cd /root/.ssh/

[root@flexusx-251f .ssh]# ls

authorized_keys id_ed25519 id_ed25519.pub id_rsa id_rsa.pub

把生成的公钥填写在 gitlab 的 wangwu 用户中

wKgZO2d87m2AaPIQAADhCOQfidA964.png

查看公钥并写入 key 中

[root@flexusx-251f.ssh]# cat id_rsa.pub

ssh-rsaAAAAB3NzaC1yc2EAAAADAQABAAABgQDHHXiSuHbfab8EzQ0B6zTOPNPF5HyISXh8Ldl5u5mNAx17M9ib7C36EHFxNtYnVSNbnn2cIeP6hOXXfNhDmGgg9PGHzAzuXj8rOBegEeY9F1Lg2NF1zbnnmiwzKmgkBukicQuQlqcn1m3L6pA4V9eIj7WDrUt2sHjyhaPLb3AktxYR44PvN2aaOmAZQhv858gePGFJnbmYVVK6nIDa+xEm/kas/wIQoSvYQfeyPTWpCB6M1y6lqpkmdBciv57PYBd9s2vJD/Guf77BSNHM2dFNt/IB/P+bo2pu/r0qoRyb7HtIfM4igUlYuu+G5Q8LshemnSd5kCm9SOKaJJ99ovabwyWSA5PjGFr5guDMRx7UA/+4NKboMjlKbIrhRkkcaINp9UK97s7LBZWs/a+A9GExz9EWtyIIXpzyEquLov1T1LlmYTsaip/c7bIalkfn4Q6sxNk3hSsnujYlS5Q5nAkv06AO9Hu2SNHyLiSGcmWg9yYZOsOHZz/8MCVFIx0Wc2s= admin01@qq.com

wKgZPGd87m6AQ3RPAAG0yzqBJw0919.png

克隆项目**

找到项目的 ssh 地址,也可以通过 http 地址

wKgZO2d87m6AK7K_AAGYO4SDmK0072.png

创建文件夹并拉取文件

[root@flexusx-251f~]# mkdir code

[root@flexusx-251f~]# cd code/

[root@flexusx-251fcode]# git clone ssh://git@123.249.27.118:3002/root/my_java_project01.git

Cloninginto 'my_java_project01'...

Theauthenticity of host '[123.249.27.118]:3002 ([123.249.27.118]:3002)'can't be established.

ED25519 key fingerprint is SHA256:L0vK441j2nwCcNuZegnkiAcWe2TIjjGLJrLOE7GzAEQ.

This key is not known by any other names

Are you sure you want to continue connecting (yes/no/[fingerprint])? yes

Warning: Permanently added '[123.249.27.118]:3002' (ED25519) to the list of known hosts.

remote: Enumerating objects: 3, done.

remote: Counting objects: 100% (3/3), done.

remote: Compressing objects: 100% (2/2), done.

remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)

Receiving objects: 100% (3/3), done.

克隆成功

[root@flexusx-251f code]# ls

my_java_project01

提交文件**

创建一个新文件,并写内容

[root@flexusx-251fcode]# cd my_java_project01/

[root@flexusx-251fmy_java_project01]# ls

README.md

[root@flexusx-251fmy_java_project01]# echo 11111 >1.txt

[root@flexusx-251fmy_java_project01]# cat 1.txt

11111

将文件添加到暂存区

[root@flexusx-251fmy_java_project01]# git add *

[root@flexusx-251fmy_java_project01]# git status

Onbranch main

Yourbranch is up to date with 'origin/main'.

Changesto be committed:

(use"git restore --staged ..."to unstage)

newfile: 1.txt

提交文件到本地仓库

[root@flexusx-251fmy_java_project01]# git commit -m'提交一个文档'

[main6512959] 提交一个文档

1file changed, 1 insertion(+)

createmode 100644 1.txt

通过 root 用户,修改 wangwu 用户角色,因为开发人员不可进行提交,只能查看 master 分支

wKgZPGd87m-AHuzMAAEGd40Vs4Q387.png

推送代码到项目

[root@flexusx-251fmy_java_project01]# git push

Enumeratingobjects: 4, done.

Countingobjects: 100%(4/4),done.

Deltacompression using up to 4 threads

Compressingobjects: 100%(2/2),done.

Writingobjects: 100%(3/3),290 bytes|290.00KiB/s, done.

Total3(delta0),reused 0(delta0),pack-reused 0

Tossh://123.249.27.118:3002/root/my_java_project01.git

42ac110..6512959main ->main

这里把本地仓库同步到远程仓库,到远程仓库看一下就能看到提交记录了

wKgZO2d87m-ABnNNAAGoQAQ30cE486.png

体验和感受****

在追求高效协作与持续创新的数字化时代,GitLab 作为领先的 DevOps 平台,为企业提供了从代码托管到 CI/CD 的一站式解决方案。而今,华为云 Flexus X 服务器的出现,更是为 GitLab 的云端部署开启了新篇章。

华为云 Flexus X 实例以其卓越的算力性能、灵活的扩展能力和稳定可靠的服务质量,成为了 GitLab 云端部署的理想选择。它不仅支持高并发访问,确保团队协作的流畅无阻,还通过智能的资源调度,帮助企业优化成本结构,实现资源的最大化利用。

在 828 华为云企业上云节这个节日里,让我们一起走进云端世界,Flexus X 实例的高可用性和 GitLab 的丰富功能相互补充,将为团队带来前所未有的开发效率和协作体验。点击下方链接,立即行动,享受专属优惠,让 Flexus X 与 GitLab 携手助力您的企业数字化转型之路,这一完美结合将引领您走向更加辉煌的未来!

产品链接:华为云Flexus云服务器X实例直播建站服务器-华为云

wKgZPGd87m-AHGEnAAMdMY7jqCs748.png


审核编辑 黄宇

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

    关注

    3

    文章

    2605

    浏览量

    17475
收藏 人收藏

    评论

    相关推荐

    华为 Flexus X 实例 docker 部署最新 Appsmith 社区版,搭建自己的低代码平台

    · 华为最近正在举办 828 B2B 企业节,Flexus X 实例的促销力度非常大,特别适合那些对算力性能有高要求的小伙伴。如果你有自建
    的头像 发表于 01-08 11:49 26次阅读
    <b class='flag-5'>华为</b><b class='flag-5'>云</b> <b class='flag-5'>Flexus</b> <b class='flag-5'>X</b> <b class='flag-5'>实例</b> docker <b class='flag-5'>部署</b>最新 Appsmith 社区版,搭建自己的低<b class='flag-5'>代码</b>平台

    华为 Flexus 服务器 X 实例部署 Servas 自托管书签管理工具

    一、Flexus 服务器 X 实例介绍 1.1 Flexus 服务器
    的头像 发表于 01-08 11:44 89次阅读
    <b class='flag-5'>华为</b><b class='flag-5'>云</b> <b class='flag-5'>Flexus</b> <b class='flag-5'>云</b>服务器 <b class='flag-5'>X</b> <b class='flag-5'>实例</b><b class='flag-5'>部署</b> Servas 自托管书签<b class='flag-5'>管理</b>工具

    华为 Flexus 服务器 X 实例之 openEuler 系统部署 Docker Compose 管理工具 Dockge

    的 docker-compose.yaml 部署文件时,Dockge 以其精美的设计和易用性脱颖而出,成为不可或缺的管理工具。利用华为 Flexu
    的头像 发表于 01-08 11:41 74次阅读
    <b class='flag-5'>华为</b><b class='flag-5'>云</b> <b class='flag-5'>Flexus</b> <b class='flag-5'>云</b>服务器 <b class='flag-5'>X</b> <b class='flag-5'>实例</b>之 openEuler 系统<b class='flag-5'>部署</b> Docker Compose <b class='flag-5'>管理</b>工具 Dockge

    华为 Flexus 服务器 X 实例之 openEuler 系统下部署 Grav 内容管理系统

    下,华为展现了其在技术创新和服务质量方面的深厚积累。通过在 Flexus 服务器 X 实例
    的头像 发表于 01-08 11:38 64次阅读
    <b class='flag-5'>华为</b><b class='flag-5'>云</b> <b class='flag-5'>Flexus</b> <b class='flag-5'>云</b>服务器 <b class='flag-5'>X</b> <b class='flag-5'>实例</b>之 openEuler 系统下<b class='flag-5'>部署</b> Grav 内容<b class='flag-5'>管理</b>系统

    云端监控新体验,打造强大的 Zabbix 主机监控解决方案

    期间,Flexus X 实例服务器携专属优惠震撼来袭,不仅解决传统服务 固定规格、性能不稳 等难题,更以超值价格助力企业轻松
    的头像 发表于 01-07 17:23 73次阅读
    <b class='flag-5'>云端</b>监控<b class='flag-5'>新体验</b>,打造强大的 Zabbix 主机监控解决方案

    服务器 Flexus X 实例部署 Gitea,拥有自己的 Git 仓库,管理本地代码

    、零售、金融、游戏等众多领域的通用工作负载需求。本文旨在详细阐述如何高效利用“服务器 Flexus X 实例”,包括如何在其中从零开始,通过安装相关依赖、安装 Docker、安装 G
    的头像 发表于 01-07 16:59 72次阅读
    <b class='flag-5'>云</b>服务器 <b class='flag-5'>Flexus</b> <b class='flag-5'>X</b> <b class='flag-5'>实例</b>:<b class='flag-5'>部署</b> Gitea,拥有自己的 Git 仓库,<b class='flag-5'>管理</b>本地<b class='flag-5'>代码</b>

    华为 Flexus 服务器 X 实例部署 Trilium Notes 知识库工具

    一、Flexus 服务器 X 实例介绍 1.1 Flexus 服务器
    的头像 发表于 01-02 20:45 127次阅读
    <b class='flag-5'>华为</b><b class='flag-5'>云</b> <b class='flag-5'>Flexus</b> <b class='flag-5'>云</b>服务器 <b class='flag-5'>X</b> <b class='flag-5'>实例</b><b class='flag-5'>部署</b> Trilium Notes 知识库工具

    华为 FlexusX 实例实现 Docker 容器的实时监控与可视化分析

    前言 华为 Flexus X,以顶尖算力与智能调度,引领 Docker 容器管理新风尚。828 企业
    的头像 发表于 01-02 13:42 68次阅读
    在<b class='flag-5'>华为</b><b class='flag-5'>云</b> FlexusX <b class='flag-5'>实例</b><b class='flag-5'>上</b>实现 Docker 容器的实时监控与可视化分析

    华为 Flexus 服务器 X 实例部署 Note Mark 笔记工具

    前言 华为 Flexus 服务器 X 实例作为专为中小企业和开发者设计的新一代柔性算力
    的头像 发表于 01-02 13:42 62次阅读
    <b class='flag-5'>华为</b><b class='flag-5'>云</b> <b class='flag-5'>Flexus</b> <b class='flag-5'>云</b>服务器 <b class='flag-5'>X</b> <b class='flag-5'>实例</b><b class='flag-5'>部署</b> Note Mark 笔记工具

    华为 Flexus X 实例 docker 部署最新 gitlab 社区版,搭建自己的私人代码仓库

    · 华为最近正在举办 828 B2B 企业节,Flexus X 实例的促销力度非常大,特别适合那些对算力性能有高要求的小伙伴。如果你有自建
    的头像 发表于 01-02 12:01 67次阅读
    <b class='flag-5'>华为</b><b class='flag-5'>云</b> <b class='flag-5'>Flexus</b> <b class='flag-5'>X</b> <b class='flag-5'>实例</b> docker <b class='flag-5'>部署</b>最新 <b class='flag-5'>gitlab</b> 社区版,搭建自己的私人<b class='flag-5'>代码</b>仓库

    轻松构建云端办公生态,华为 Flexusx + OnlyOffice 部署指南

    前言 在数字化转型的浪潮中,高效、灵活的云端办公成为企业新需求。华为Flexus X实例,凭借
    的头像 发表于 12-30 15:13 202次阅读
    轻松构建<b class='flag-5'>云端</b>办公生态,<b class='flag-5'>华为</b><b class='flag-5'>云</b> Flexusx + OnlyOffice <b class='flag-5'>部署</b><b class='flag-5'>指南</b>

    华为 Flexus 服务器 X 实例之 openEuler 系统下部署 Discuz 论坛网站

    与支持。该实例不仅提供了灵活可扩展的计算资源,还特别优化了对于 openEuler 等开源操作系统的支持,确保用户能够享受到更加高效、安全且易于管理服务体验。在本文中,我们将探索如何在华为
    的头像 发表于 12-30 09:12 198次阅读
    <b class='flag-5'>华为</b><b class='flag-5'>云</b> <b class='flag-5'>Flexus</b> <b class='flag-5'>云</b>服务器 <b class='flag-5'>X</b> <b class='flag-5'>实例</b>之 openEuler 系统下<b class='flag-5'>部署</b> Discuz 论坛网站

    基于华为 Flexus 服务器 X 实例部搭建 Halo 博客平台

    前言 在数字化转型的大潮中,华为 Flexus 服务器 X 实例凭借其强劲的性能和高性价比,
    的头像 发表于 12-26 09:40 166次阅读
    基于<b class='flag-5'>华为</b><b class='flag-5'>云</b> <b class='flag-5'>Flexus</b> <b class='flag-5'>云</b>服务器 <b class='flag-5'>X</b> <b class='flag-5'>实例</b>部搭建 Halo 博客平台

    Flexus X 实例 C#/.Net Core 结合(git 代码管理、docker 自定义镜像)快速发布部署 - 让你的项目飞起来~

    前言 ���云端部署新体验,C# Web API 遇上 Git Docker,828 B2B 企业节特惠来袭!Flexus X
    的头像 发表于 12-25 21:15 163次阅读
    <b class='flag-5'>Flexus</b> <b class='flag-5'>X</b> <b class='flag-5'>实例</b> C#/.Net Core 结合(git <b class='flag-5'>代码</b><b class='flag-5'>管理</b>、docker 自定义镜像)快速发布<b class='flag-5'>部署</b> - 让你的项目飞起来~

    性能易用二合一!华为 Flexus X 实例加快中小企数字转型

    Flexus 服务器 X 实例(以下简称 Flexus X
    的头像 发表于 09-11 11:55 305次阅读
    性能易用二合一!<b class='flag-5'>华为</b><b class='flag-5'>云</b> <b class='flag-5'>Flexus</b> <b class='flag-5'>X</b> <b class='flag-5'>实例</b>加快中小企数字转型