828华为云征文 | 云服务器Flexus X实例:部署 Gitea,拥有自己的Git仓库,管理本地代码
目录
一、什么是 Gitea
二、安装 Docker 环境
2.1 更新 apt 软件源
2.2 安装依赖
2.3 安装 Docker
三、安装 Gitea
3.1 创建 docker-compose.yml
3.2 启动 Gitea 服务
3.3 初始化配置
四、运行 Gitea
4.1 登录/注册
4.2 创建仓库
五、总结
本篇文章通过部署 Gitea,实现本地 Git 仓库,真实体验了 “云服务器Flexus X实例”,深感其卓越性能与灵活性。这款实例以其六倍于常的强劲算力,搭配旗舰级的操作体验,广泛适用于高科技、零售、金融、游戏等众多领域的通用工作负载需求。本文旨在详细阐述如何高效利用“云服务器Flexus X实例”,包括如何在其中从零开始,通过安装相关依赖、安装Docker、安装 Gitea等步骤,实现自己的 Git 仓库,管理本地代码。精彩内容,不容错过,快来一探究竟吧!
一、什么是 Gitea
Gitea 是一个轻量级的 DevOps 平台软件。从开发计划到产品成型的整个软件生命周期,他都能够高效而轻松的帮助团队和开发者。包括 Git 托管、代码审查、团队协作、软件包注册和 CI/CD。它与 GitHub、Bitbucket 和 GitLab 等比较类似。 Gitea 最初是从 Gogs 分支而来,几乎所有代码都已更改。
通过在 云服务器Flexus X实例 上部署,管理本地代码。
下面就让我们开始吧!
二、安装 Docker 环境
2.1 更新 apt 软件源
首先,更新 apt 软件源,执行如下命令。
root@flexusx-7305:~# sudo apt update
Hit:1 http://repo.huaweicloud.com/ubuntu focal InRelease
Get:2 http://repo.huaweicloud.com/ubuntu focal-updates InRelease [128 kB]
Hit:3 http://repo.huaweicloud.com/ubuntu focal-backports InRelease
Hit:4 http://repo.huaweicloud.com/ubuntu focal-security InRelease
Get:5 http://repo.huaweicloud.com/ubuntu focal-updates/main amd64 Packages [3,563 kB]
Get:6 http://repo.huaweicloud.com/ubuntu focal-updates/universe amd64 Packages [1,231 kB]
Get:7 http://repo.huaweicloud.com/ubuntu focal-updates/universe i386 Packages [807 kB]
Hit:8 https://packages.redis.io/deb focal InRelease
Fetched 5,729 kB in 2s (2,559 kB/s)
Reading package lists... Done
Building dependency tree
Reading state information... Done
35 packages can be upgraded. Run 'apt list --upgradable' to see them.
root@flexusx-7305:~#
2.2 安装依赖
然后,安装需要的依赖,执行如下命令。
root@flexusx-7305:~# sudo apt install apt-transport-https ca-certificates curl gnupg2 software-properties-common
添加 Docker 的官方 GPG 密钥,执行如下命令。
root@flexusx-7305:~# curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
OK
root@flexusx-7305:~#
添加 apt-get 源,如下所示。
root@flexusx-7305:~# sudo add-apt-repository \
> "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
> $(lsb_release -cs) \
> stable"
Hit:1 http://repo.huaweicloud.com/ubuntu focal InRelease
Hit:2 http://repo.huaweicloud.com/ubuntu focal-updates InRelease
Hit:3 http://repo.huaweicloud.com/ubuntu focal-backports InRelease
Hit:4 http://repo.huaweicloud.com/ubuntu focal-security InRelease
Get:5 https://download.docker.com/linux/ubuntu focal InRelease [57.7 kB]
Get:6 https://download.docker.com/linux/ubuntu focal/stable amd64 Packages [50.2 kB]
Hit:7 https://packages.redis.io/deb focal InRelease
Fetched 108 kB in 2s (56.5 kB/s)
Reading package lists... Done
root@flexusx-7305:~#
2.3 安装 Docker
然后,执行命令安装 docker,如下所示。
root@flexusx-7305:~# sudo apt install docker-ce
查看 docker 版本。
root@flexusx-7305:~# docker --version
Docker version 27.2.1, build 9e34c9b
root@flexusx-7305:~#
最后,安装 docker-compose,执行如下命令。
root@flexusx-7305:~# sudo apt install docker-compose
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
redis-server redis-tools
Use 'sudo apt autoremove' to remove them.
The following additional packages will be installed:
python3-cached-property python3-docker python3-dockerpty python3-docopt python3-importlib-metadata python3-jsonschema python3-more-itertools python3-pyrsistent python3-texttable python3-websocket python3-zipp
Suggested packages:
python-jsonschema-doc
Recommended packages:
docker.io
The following NEW packages will be installed:
docker-compose python3-cached-property python3-docker python3-dockerpty python3-docopt python3-importlib-metadata python3-jsonschema python3-more-itertools python3-pyrsistent python3-texttable python3-websocket python3-zipp
0 upgraded, 12 newly installed, 0 to remove and 33 not upgraded.
Need to get 412 kB of archives.
After this operation, 2,414 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://repo.huaweicloud.com/ubuntu focal/universe amd64 python3-cached-property all 1.5.1-4 [10.9 kB]
Get:2 http://repo.huaweicloud.com/ubuntu focal/universe amd64 python3-websocket all 0.53.0-2ubuntu1 [
到这里 Docker 安装完成。
三、安装 Gitea
3.1 创建 docker-compose.yml
Gitea 在其 Docker Hub 组织内提供自动更新的 Docker 镜像。可以始终使用最新的稳定标签或使用其他服务来更新 Docker 镜像。
首先,创建 docker-compose.yml 文件,内容如下所示。
version: "3"
networks:
gitea:
external: false
services:
server:
image: swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/gitea/gitea:1.22.1
container_name: gitea
environment:
- USER_UID=1000
- USER_GID=1000
- GITEA__database__DB_TYPE=mysql
- GITEA__database__HOST=db:3306
- GITEA__database__NAME=gitea
- GITEA__database__USER=gitea
- GITEA__database__PASSWD=gitea
restart: always
networks:
- gitea
volumes:
- ./gitea:/data
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
ports:
- "3000:3000"
- "222:22"
depends_on:
- db
db:
image: daocloud.io/library/mysql:8
restart: always
environment:
- MYSQL_ROOT_PASSWORD=gitea
- MYSQL_USER=gitea
- MYSQL_PASSWORD=gitea
- MYSQL_DATABASE=gitea
networks:
- gitea
volumes:
- ./mysql:/var/lib/mysql
3.2 启动 Gitea 服务
执行 docker 命令启动 Gitea 服务。
root@flexusx-7305:~# docker-compose up -d
Pulling db (daocloud.io/library/mysql:)...
latest: Pulling from library/mysql
45b42c59be33: Pull complete
b4f790bd91da: Pull complete
325ae51788e9: Pull complete
adcb9439d751: Pull complete
174c7fe16c78: Pull complete
698058ef136c: Pull complete
4690143a669e: Pull complete
f7599a246fd6: Pull complete
35a55bf0c196: Pull complete
790ac54f4c47: Pull complete
b0ddd5d1b543: Pull complete
1aefd67cb33d: Pull complete
Digest: sha256:03306a1f248727ec979f61424c5fb5150e2c5fd2436f2561c5259b1258d6063c
Status: Downloaded newer image for daocloud.io/library/mysql:latest
Pulling server (swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/gitea/gitea:)...
如果拉取不下来镜像,可以通过如下方式拉取。
root@flexusx-7305:~# docker pull daocloud.io/library/mysql:8
root@flexusx-7305:~# docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/gitea/gitea:1.22.1
查看运行的 docker 容器。
root@flexusx-7305:~# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ef512af0c1c5 swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/gitea/gitea:1.22.1 "/usr/bin/entrypoint…" About a minute ago Up About a minute 0.0.0.0:3000->3000/tcp, :::3000->3000/tcp, 0.0.0.0:222->22/tcp, [::]:222->22/tcp gitea
65fe1c102df6 daocloud.io/library/mysql:8 "docker-entrypoint.s…" About a minute ago Up About a minute 3306/tcp, 33060/tcp root_db_1
root@flexusx-7305:~#
3.3 初始化配置
访问 http://服务器IP:3000/,进入初始配置界面,如下所示。
填写配置信息,注意,最好设置下管理员账号,然后点击立即安装即可。
四、运行 Gitea
4.1 登录/注册
登录网址 http://服务器IP:3000/,Gitea 本地仓库界面如下所示。
可以通过右上角的注册按钮注册新的账号,也可以通过 root 账号登录,如下所示。
Gitea 登录后界面如下所示。
4.2 创建仓库
点击右上角 +,然后点击创建仓库按钮,进入配置仓库参数界面,如下所示。
可以根据需要配置仓库参数,仓库名称必填,配置完成后点击创建仓库,配置界面如下所示。
创建仓库成功,现在可以上传代码啦。
五、总结
在深度体验了“Flexus云服务器X实例”后,成功部署了Gitea,拥有了自己的 Git 仓库,实现了对本地代码库的无缝管理。这一过程不仅展现了 Flexus云服务器X实例 的便捷与高效,更在于其流畅无卡顿的操作体验,让初学者也能轻松上手,日常管理变得前所未有的省心。对于追求高效代码管理体验的用户来说,这无疑是一个值得立即尝试的优质选择。赶紧来体验 Flexus云服务器X实例 带来的卓越性能与便捷管理吧!