使用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

更多系列文章

构建高性能,可伸缩,高可用,安全,自动化,可溯源,整体式应用构架体系

posted @ 2024-07-08 17:05  老猿新码  阅读(180)  评论(0编辑  收藏  举报