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

电子说

1.3w人已加入

描述

本篇文章通过部署 Gitea,实现本地 Git 仓库,真实体验了“云服务器 Flexus X 实例”,深感其卓越性能与灵活性。这款实例以其六倍于常的强劲算力,搭配旗舰级的操作体验,广泛适用于高科技、零售、金融、游戏等众多领域的通用工作负载需求。本文旨在详细阐述如何高效利用“云服务器 Flexus X 实例”,包括如何在其中从零开始,通过安装相关依赖、安装 Docker、安装 Gitea 等步骤,实现自己的 Git 仓库,管理本地代码。精彩内容,不容错过,快来一探究竟吧!

Git

一、什么是 Gitea

Gitea 是一个轻量级的 DevOps 平台软件。从开发计划到产品成型的整个软件生命周期,他都能够高效而轻松的帮助团队和开发者。包括 Git 托管、代码审查、团队协作、软件包注册和 CI/CD。它与 GitHub、Bitbucket 和 GitLab 等比较类似。Gitea 最初是从 Gogs 分支而来,几乎所有代码都已更改。

通过在云服务器 Flexus X 实例 上部署,管理本地代码。

Git

下面就让我们开始吧! 

二、安装 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/,进入初始配置界面,如下所示。

Git

Git

填写配置信息,注意,最好设置下管理员账号,然后点击立即安装即可。

四、运行 Gitea

4.1 登录/注册

登录网址 http://服务器 IP:3000/,Gitea 本地仓库界面如下所示。

Git

可以通过右上角的注册按钮注册新的账号,也可以通过 root 账号登录,如下所示。

Git

Gitea 登录后界面如下所示。 

Git

4.2 创建仓库

点击右上角+,然后点击创建仓库按钮,进入配置仓库参数界面,如下所示。

Git

可以根据需要配置仓库参数,仓库名称必填,配置完成后点击创建仓库,配置界面如下所示。 

Git

创建仓库成功,现在可以上传代码啦。

Git

五、总结

在深度体验了“Flexus 云服务器 X 实例”后,成功部署了 Gitea,拥有了自己的 Git 仓库,实现了对本地代码库的无缝管理。这一过程不仅展现了 Flexus 云服务器 X 实例 的便捷与高效,更在于其流畅无卡顿的操作体验,让初学者也能轻松上手,日常管理变得前所未有的省心。对于追求高效代码管理体验的用户来说,这无疑是一个值得立即尝试的优质选择。赶紧来体验 Flexus 云服务器 X 实例 带来的卓越性能与便捷管理吧!

审核编辑 黄宇

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分