轻量级DevOps平台-Gitea

标题是Gitea官网自己介绍的,我的理解它就是轻量级的源码管理平台,同时支持各种CI&CD工具的插件扩展。

安装

Gitea支持各种方式的安装,最简单的就是Gitea + Docker,參考Installation with Docker

  1. 创建本地文件夹,在主机保存Gitea数据和配置
1
2
3
mkdir -p gitea/{data,config}
cd gitea
touch docker-compose.yml
  1. 创建docker-compose.yml,配置Gitea镜像、网络、Volume和启动方式
1
2
3
4
5
6
7
8
9
10
11
12
13
14
version: "2"

services:
server:
image: gitea/gitea:1.20.5-rootless
restart: always
volumes:
- ./data:/var/lib/gitea
- ./config:/etc/gitea
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
ports:
- "3000:3000"
- "2222:2222"
  • 默认情况下,在容器内部使用了UID/GID=1000/1000的配置,所以需要手动设置data/config两个文件夹的文件权限,来保证它们可以映射到容器内部后可以被gitea读写
1
sudo chown 1000:1000 config/ data/
  • Gitea-with-Docker默认使用SQLite3作为存储数据库,可以配置其他数据库(MySQL/PostgreSQL)
  1. 启动/关闭容器
1
2
3
4
# 启动
docker-compose up -d
# 关闭
docker-compose down

使用docker-compose进行容器的开启和关闭,需要提前安装docker-compose,参考Install Compose standalone

登录

1
http://localhost:3000/
  • 首次登录需要进行初始设置,包括数据库、通用配置以及可选配置(比如管理员账户设置)

注意:如果没有在初始配置中设置管理员账户(Administrator Account Settings),那么第一个注册的账户将自动成为管理员。

SSH

Gitea-with-Docker默认使用2222作为SSH端口,在docker-compose.yml也绑定了Host和容器的2222:2222端口号。如果要自定义配置的话可以在

  1. 初始配置中修改SSH端口号;
  2. 修改配置文件config/app.ini

其他的配置流程跟Github/Gitlab一样,

  1. 创建一个密钥对
1
ssh-keygen -t rsa -b 4096 -C "Gitea Host Key"
  1. 把公钥信息复制到Gitea账户中

题外话,Gitea提供了两种Docker安装方式,我最开始尝试了第二种安装,然后参考文档的SSH配置一直没有成功?

  1. https://docs.gitea.com/installation/install-with-docker-rootless
  2. https://docs.gitea.com/installation/install-with-docker

相关阅读