轻量级DevOps平台-Gitea
标题是Gitea官网自己介绍的,我的理解它就是轻量级的源码管理平台,同时支持各种CI&CD工具的插件扩展。
安装
Gitea
支持各种方式的安装,最简单的就是Gitea + Docker
,參考Installation with Docker
- 创建本地文件夹,在主机保存Gitea数据和配置
1 | mkdir -p gitea/{data,config} |
- 创建docker-compose.yml,配置Gitea镜像、网络、Volume和启动方式
1 | version: "2" |
- 默认情况下,在容器内部使用了UID/GID=1000/1000的配置,所以需要手动设置data/config两个文件夹的文件权限,来保证它们可以映射到容器内部后可以被gitea读写
1 | sudo chown 1000:1000 config/ data/ |
- Gitea-with-Docker默认使用SQLite3作为存储数据库,可以配置其他数据库(MySQL/PostgreSQL)
- 启动/关闭容器
1 | 启动 |
使用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端口号。如果要自定义配置的话可以在
- 初始配置中修改SSH端口号;
- 修改配置文件
config/app.ini
。
其他的配置流程跟Github/Gitlab一样,
- 创建一个密钥对
1 | ssh-keygen -t rsa -b 4096 -C "Gitea Host Key" |
- 把公钥信息复制到Gitea账户中
题外话,Gitea提供了两种Docker安装方式,我最开始尝试了第二种安装,然后参考文档的SSH配置一直没有成功?
- https://docs.gitea.com/installation/install-with-docker-rootless
- https://docs.gitea.com/installation/install-with-docker