Gitea 简介
Gitea 是一个开源的代码管理项目,旨在为用户提供一个简单,轻量级的自托管 Git 服务。这个项目在设计上注重易用性和轻量级,可以在多种平台上运行,包括 Linux,Windows,和 Mac OS。Gitea 是由 Gogs 发展而来的,它继承了 Gogs 的轻量级和简洁高效的特点,并且进一步扩展了功能和改进了体验。一些新的特性包括问题和拉取请求的追踪,仓库和组织的管理,以及 Webhooks 和第三方集成。Gitea 的目标是提供一个与 GitHub 相似的用户体验,但是所有的数据和服务都是在用户自己的服务器上运行。这意味着用户可以完全控制自己的代码和数据,没有任何第三方可以访问。
Gitea 的特点包括:
- 开源和自托管:用户可以自由地修改和分发 Gitea,也可以在自己的服务器上托管 Gitea,完全控制自己的数据和服务。
- 轻量级和高效:Gitea 的安装包非常小,运行也很高效,可以在很低配置的服务器上运行。
- 易用性:Gitea 的用户界面设计得非常简洁明了,即使是初学者也可以快速上手。
- 完善的功能:Gitea 支持 Git 的所有核心功能,包括分支,标签,拉取请求,问题追踪等。
安装 Gitea
说明: 基于前期构建的 traefik
网关,详见: DIY NAS系列12 — Traefik 出口网关配置
在 docker-compose.yaml
文件中,会对重要的配置进行说明,因个人网络环境等不同,需要根据自身实际情况调整配置。
[root@demo ~]# cat > docker-compose.yml << \EOF
version: '3'
services:
gitea:
container_name: gitea
image: gitea/gitea:latest
privileged: true
restart: always
ports:
- 30001:30001
- 30002:22 # 这里将22端口转换成30002端口
volumes:
- /SSD/Demo/gitea/gitea-data:/data
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
environment:
- TZ=Asia/Shanghai
networks:
- traefik_net
labels:
- "traefik.enable=true"
- "traefik.docker.network=traefik_net"
- "traefik.http.routers.gitea.rule=Host(git.rockylinux.cn
)"
- "traefik.http.routers.gitea.entryPoints=websecure"
- "traefik.http.routers.gitea.tls.certresolver=myresolver"
- "traefik.http.routers.gitea.service=gitea"
- "traefik.http.services.gitea.loadbalancer.server.port=30001"
networks:
traefik_net:
external: true
EOF
# 启动服务
[root@demo ~]# docker-compose up -d
Gitea 相关配置
Gitea 的配置相对来说比较简单,如果您使用过 Gitlab 或者 Github,基本上没有区别,启动服务以初始化配置一个管理员账号密码,都可以正常开用了。
它提供了工单管理、合并请求、里程碑、搜索等常用功能。
客户端配置
Git 的客户端有很多,以下是一些常见的:
- 命令行:Git 自带的命令行工具是最常见的 Git 客户端。虽然它的用户界面并不友好,但是它提供了所有的 Git 功能,也是许多其他客户端的基础。
- GitHub Desktop:这是 GitHub 官方提供的客户端,可以在 Windows 和 Mac OS 上运行。它的用户界面简洁易用,而且和 GitHub 的集成非常深入。
- SourceTree:这是 Atlassian 公司开发的一个免费的 Git 和 Mercurial 客户端。它的用户界面非常友好,而且支持 Git 的所有核心功能。
- GitKraken:这是一个商业的 Git 客户端,但是对于非商业用途是免费的。它的用户界面非常漂亮,而且支持 Git 的所有核心功能,包括 pull requests 和 issue tracking。
- TortoiseGit:这是一个 Windows 下的 Git 客户端,它将 Git 命令集成到 Windows 的右键菜单中,使得操作十分方便。
- SmartGit:这是一个商业的 Git 客户端,它的用户界面非常友好,而且支持 Git 的所有核心功能,还有许多高级功能,比如冲突解决和文件比较。
Git 的客户端配置有很多种方式,涉及多账号、多平台、不同类型的拉取代码的方式,这里只是简单介绍一下 Git 命令行的基础使用。
# 克隆仓库
# HTTPS方式
git clone https://git.rockylinux.cn/rockylinux/epel-statistics.git
# 拉取
git pull https://git.rockylinux.cn/rockylinux/epel-statistics.git
# 提交
git add .
git commit -m '首次提交'
git push -u origin main
后述
在这篇文章中,我们对 Gitea 进行了初步的介绍,包括它的特点和在使用过程中需要注意的事项。Gitea 作为一个开源的代码管理项目,其轻量、易用并充满强大功能,能够帮助我们更好地管理和协作我们的代码。
然而,开源世界的精彩远不止于此。在下一篇文章中,我们将带大家了解另一个受欢迎的开源项目——SmartDNS。SmartDNS 是一个专门为 DNS 优化的项目,它可以帮助我们解决 DNS 查询慢,访问网站不稳定等问题。
DIY NAS 系列20 — 智能DNS管理之 SmartDNS