gitlab要离开我们了,搭建私有的GIT服务

58 阅读2分钟

前言

这几天gitlab.com将中止国内用户服务,要求转入国内的极狐的事情似乎闹得有点大,而且要**“60日内删除国内的帐户”**,这简单是有点点“不要脸”,又有人说这是似乎是国内极狐的一场“商业阴谋”。总之,国内用户是不让玩了。 不让玩就不让玩吧,我就试试极狐怎么样,结果似乎让我失望。

于是乎,决定搭建私有的GIT服务了。调查了一下,最终选择了gitea(基于gogs),轻量、相对易于部署。 注:gitlab ce以前部署来,虽然gitlab.com的基本功能都有,但比较臃肿,而且不限制日志的话,几个月就把我们小机磁盘干爆了。 参考:关于Gitea | Gitea Documentation

第一步:下载

Gitea Official Website

第二步:安装

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 根据代码库的分组,划分多个“组织”来管理

image.png

3.2 在“组织”下根据需要创建一到多个“团队”

添加成员,设置好权限。

image.png

3.3 导入或新建项目

导入项目后,可以设置项目的协作者。

后续配置

若服务器在公司内网,可以根据需要配置内网穿透来提供外部访问。