前言
这几天gitlab.com将中止国内用户服务,要求转入国内的极狐的事情似乎闹得有点大,而且要**“60日内删除国内的帐户”**,这简单是有点点“不要脸”,又有人说这是似乎是国内极狐的一场“商业阴谋”。总之,国内用户是不让玩了。 不让玩就不让玩吧,我就试试极狐怎么样,结果似乎让我失望。
于是乎,决定搭建私有的GIT服务了。调查了一下,最终选择了gitea(基于gogs),轻量、相对易于部署。 注:gitlab ce以前部署来,虽然gitlab.com的基本功能都有,但比较臃肿,而且不限制日志的话,几个月就把我们小机磁盘干爆了。 参考:关于Gitea | Gitea Documentation
第一步:下载
第二步:安装
1. 数据库
注意:在后面安装时程序会使用的数据库名是gitea,而不是官方帮助文档中的giteadb。当然了,这都可以改,为了省事建立使用gitea.
2. 应用程序
2.1 docker部署
我是采用docker部署的,请参考:使用 Docker 安装 | Gitea Documentation
docker-compose.yml
version: "3"
networks:
gitea:
external: false
services:
server:
image: docker.io/gitea/gitea:1.22.6
container_name: gitea
environment:
- USER_UID=1000
- USER_GID=1000
- GITEA__database__DB_TYPE=mysql
- GITEA__database__HOST=你的数据库IP:端口
- GITEA__database__NAME=gitea
- GITEA__database__USER=gitea
- GITEA__database__PASSWD=gitea
restart: always
networks:
- gitea
volumes:
- ./gitea:/data
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
ports:
- "3000:3000"
- "222:22"
docker compose up -d
2.2 安装
打开网址:http://你的服务器IP:3000/ 主要配置项:
- database host: x.x.x.x:3306
- database name: gitea
- domain name : servername_or_ip
- base url: http://servername_or_ip:3000/
第三步:配置
gitea没有项目组的概念,只有组织、团队。 组织是用来隔离“仓库”的,组织下可以设置“团队”,而“团队”管理成员。 由于我们代码库较多,于是我用“组织”来管理不同项目的代码库;“组织”下再设置“团队”并将参与的成员添加进来;最后,在仓库的“协作者”内添加“团队”或直接添加成员。
3.1 根据代码库的分组,划分多个“组织”来管理
3.2 在“组织”下根据需要创建一到多个“团队”
添加成员,设置好权限。
3.3 导入或新建项目
导入项目后,可以设置项目的协作者。
后续配置
若服务器在公司内网,可以根据需要配置内网穿透来提供外部访问。