使用gitea搭建源码管理【0到1架构系列】
使用开源搭建Git源码方案,gitlab和gitea是两个不错的方案,gitlab以前简单易用,现在功能复杂且对开源并不友好,gitea一直保持功能单一易用且完全开源,个人推荐gitea。
通过容器安装比较简单易用,使用镜像加速器拉取或许更快些。
docker pull gitea/gitea
gitea需要数据库储存,可以选择mysql,postgres,默认已经事先搭建mysql数据库作用储存。
在主机创建文件夹来做数据卷。
mkdir giteaData
给权限(或者不给)
chmod 755 /giteaData
编写docker-compose.yml文件,使用docker命令也行,主要是参数比较多,使用docker-compose.yml更方便管理。
version: "3" services: server: image: gitea:latest container_name: gitea environment: - GITEA_DATABASE_TYPE=mysql #选择mysql - GITEA_DATABASE_HOST=192.168.3.116 #数据库IP地址 - GITEA_DATABASE_PORT_NUMBER=3306 #数据库端口 - GITEA_DATABASE_NAME=gitea #数据库名称 - GITEA_DATABASE_USERNAME=root #数据库账号 - GITEA_DATABASE_PASSWORD=123 #数据库密码 restart: always volumes: - /giteaData/git:/data/git/repositories #git数据卷,可以指定数据路径 - /giteaData/ssl:/data/ssl #配置HTTPS证书 - /etc/timezone:/etc/timezone:ro #同步时区 - /etc/localtime:/etc/localtime:ro #同步本地时间 ports: - "3000:3000"
启动容器
docker-compose up -d
容器启动就初始化成功,访问网址:http://192.168.3.76:3000
创建一个仓库,然后同步代码上去。
同步代码之后可以通过配置Web钩子,来实现CI功能。
默认使用WebHook被禁止向其它域名发起Hook,需要配置
docker cp 7bbaf5e2864e:/data/gitea/conf/app.ini /root/app.ini
编辑app.ini文件,填写允许的主机。
[webhook] ALLOWED_HOST_LIST = 192.168.3.* #充许向这个IP段发送webhook [server] PROTOCOL = https ROOT_URL = https://git.example.com:3000/ #域名 HTTP_PORT = 3000 #端口 CERT_FILE = cert.pem #证书 KEY_FILE = key.pem #证书 [service] DISABLE_REGISTRATION = true #禁止开放注册,设为true之后,由管理员后台添加账号
将文件拷回容器,重启
docker cp /root/app.ini 7bbaf5e2864e:/data/gitea/conf/app.ini docker-compose restart
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· 展开说说关于C#中ORM框架的用法!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?