DIY NAS系列19 — 私人代码仓库之 Gitea
本文最后更新于 328 天前,其中的信息可能已经有所发展或是发生改变。

Gitea 简介

Gitea 是一个开源的代码管理项目,旨在为用户提供一个简单,轻量级的自托管 Git 服务。这个项目在设计上注重易用性和轻量级,可以在多种平台上运行,包括 Linux,Windows,和 Mac OS。Gitea 是由 Gogs 发展而来的,它继承了 Gogs 的轻量级和简洁高效的特点,并且进一步扩展了功能和改进了体验。一些新的特性包括问题和拉取请求的追踪,仓库和组织的管理,以及 Webhooks 和第三方集成。Gitea 的目标是提供一个与 GitHub 相似的用户体验,但是所有的数据和服务都是在用户自己的服务器上运行。这意味着用户可以完全控制自己的代码和数据,没有任何第三方可以访问。

Gitea 的特点包括:

  1. 开源和自托管:用户可以自由地修改和分发 Gitea,也可以在自己的服务器上托管 Gitea,完全控制自己的数据和服务。
  2. 轻量级和高效:Gitea 的安装包非常小,运行也很高效,可以在很低配置的服务器上运行。
  3. 易用性:Gitea 的用户界面设计得非常简洁明了,即使是初学者也可以快速上手。
  4. 完善的功能: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 的客户端有很多,以下是一些常见的:

  1. 命令行:Git 自带的命令行工具是最常见的 Git 客户端。虽然它的用户界面并不友好,但是它提供了所有的 Git 功能,也是许多其他客户端的基础。
  2. GitHub Desktop:这是 GitHub 官方提供的客户端,可以在 Windows 和 Mac OS 上运行。它的用户界面简洁易用,而且和 GitHub 的集成非常深入。
  3. SourceTree:这是 Atlassian 公司开发的一个免费的 Git 和 Mercurial 客户端。它的用户界面非常友好,而且支持 Git 的所有核心功能。
  4. GitKraken:这是一个商业的 Git 客户端,但是对于非商业用途是免费的。它的用户界面非常漂亮,而且支持 Git 的所有核心功能,包括 pull requests 和 issue tracking。
  5. TortoiseGit:这是一个 Windows 下的 Git 客户端,它将 Git 命令集成到 Windows 的右键菜单中,使得操作十分方便。
  6. 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

Avatar photo

关于 木子

Founder of the Rocky Linux Chinese community, MVP、VMware vExpert、TVP, advocate for cloud native technologies, with over ten years of experience in site reliability engineering (SRE) and the DevOps field. Passionate about Cloud Computing、Microservices、CI&CD、DevOps、Kubernetes, currently dedicated to promoting and implementing Rocky Linux in Chinese-speaking regions.
用一杯咖啡支持我们,我们的每一篇[文档]都经过实际操作和精心打磨,而不是简单地从网上复制粘贴。期间投入了大量心血,只为能够真正帮助到您。
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇