百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT知识 > 正文

Gitlab替代,开源,轻量级代码托管解决方案

liuian 2024-12-24 14:18 55 浏览

前言

Gitea是一款基于go开发,轻量级的开源跨平台代码托管方案,适合中小团队之间的文档共享和代码协作。主要功能如下:

  • 代码托管,支持git代码推拉和版本控制,问题跟踪,允许创建私有或公开仓库;
  • 支持api和wehook与外部应用集成,如argocd、drone、jenkins等;
  • SSH/HTTPS方式安全推送和拉取代码;
  • 每个仓库附带wiki存放项目文档;
  • 支持web界面操作;
  • 内置CI/CD系统;

Gitea安装

Gitea支持多种数据库,这里选择pgsql,使用docker-compose方式安装;

# docs: https://docs.gitea.com/zh-cn/installation/install-with-docker
mkdir gitea && cd gitea
cat > docker-compose.yml <<EOF
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
      - SSH_PORT=2222      # 克隆URL中显示的SSH端口
      - SSH_LISTEN_PORT=22 # 内置SSH服务器的端口
      # 数据库配置
      - GITEA__database__DB_TYPE=postgres
      - GITEA__database__HOST=db:5432
      - GITEA__database__NAME=gitea
      - GITEA__database__USER=gitea
      - GITEA__database__PASSWD=admin1234
      # 时区配置
      - TZ=Asia/Shanghai
      # 日志配置
      - GITEA__log__MODE=file
      - GITEA__log__ROOT_PATH=/data/gitea/log
      - GITEA__log__LEVEL=Debug
      - GITEA__log__FILE_NAME=gitea.log
      - GITEA__log__MAX_DAYS=7
    restart: always
    networks:
      - gitea
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - ./gitea:/data
    ports:
      - "3000:3000" # http端口
      - "2222:22"   # ssh端口

  db:
    image: postgres:15
    container_name: gitea-postgresql
    hostname: postgresql
    restart: always
    healthcheck:
      test: [ "CMD", "pg_isready" ]
      interval: 10s
      timeout: 5s
      retries: 5
      start_period: 30s
    ports:
      - "5432:5432"
    networks:
      - gitea
    volumes:
      - ./pgsql:/var/lib/postgresql/data
      - /etc/localtime:/etc/localtime:ro
    environment:
      - POSTGRES_USER=gitea
      - POSTGRES_PASSWORD=admin1234
      - POSTGRES_DB=gitea
      - TZ=Asia/Shanghai
EOF

启动服务;

docker compose pull
docker compose up -d
docker compose ps

访问gitea,初始化配置;

项目面板展示;

相关推荐

基于Spring Security的JWT认证深度解析与实践指南

一、JWT认证核心原理剖析1.JWT令牌结构解析Header:采用HMACSHA256算法示例json{"alg":"HS256","typ&...

入门到精通:电商API的全栈开发指南

在当今电商蓬勃发展的时代,API(应用程序编程接口)作为系统间的“桥梁”,已成为构建高效、可扩展电商平台的核心。全栈开发涉及从前端用户界面到后端服务器、数据库的完整流程,本指南将带你从零基础逐步掌握电...

SpringBoot整合SpringSecurity+JWT

作者|Sans_https://juejin.im/post/5da82f066fb9a04e2a73daec一.说明SpringSecurity是一个用于Java企业级应用程序的安全框架,主要包含...

Spring Boot 集成 JWT 详细指南(springboot集成junit)

SpringBoot集成JWT详细指南在当今的Web应用开发中,安全认证是至关重要的一环。JSONWebToken(JWT)作为一种轻量级的认证和授权机制,因其跨域支持、自包含性以及易...

电商API安全最佳实践:保护用户数据免受攻击

在电商领域,API(应用程序编程接口)是连接用户、商家和支付系统的核心枢纽。它们处理敏感数据,如用户个人信息、支付详情和交易记录。然而,API也常成为黑客攻击的目标,导致数据泄露、欺诈和声誉损失。本文...

Egg.js 异常处理、中间件、jwt,实现接口权限控制

一、自定义异常、异常处理中间件在程序执行时会有各种各样的异常情况,当异常出现我们能从控制台看出异常的原因,但是对前端来说不够人性化,不能够清晰,有些情况要给调用端返回友好的消息提示,利用自定义异常和全...

list列表基本操作(list list)

【实验目的】1、掌握list列表的基本操作【实验原理】列表是Python中最基本的数据结构,列表是最常用的Python数据类型,列表的数据项不需要具有相同的类型。列表中的每个元素都分配一个数字-它...

基于Python的多人拼图游戏(python项目拼图游戏)

开发环境要求本系统的软件开发及运行环境具体如下。操作系统:Windows7、Windows10。Python版本:Python3.7.0。开发工具:PyCharm。运行方法在项目文件中找到mai...

python开发工具PyCharm最新版本新增功能介绍

PyCharmV2022.1支持自定义包存储库的身份验证、改进的TypedDict和Docker的新服务UI。PyCharm官方最新版免费下载试用,历史版本下载,在线文档和帮助文件下载-慧都网...

走马观花看PySide6(官方examples)

准备工作1、安装PythonPython下载地址:https://www.python.org/downloads/2、安装PyCharmPyCharm下载地址:https://www.jetbrai...

【0基础学爬虫】爬虫基础之scrapy的使用

【0基础学爬虫】爬虫基础之scrapy的使用大数据时代,各行各业对数据采集的需求日益增多,网络爬虫的运用也更为广泛,越来越多的人开始学习网络爬虫这项技术,K哥爬虫此前已经推出不少爬虫进阶、逆向相关文章...

手把手教你 在Pytorch框架上部署和测试关键点人脸检测项目DBFace

这期教向大家介绍仅仅1.3M的轻量级高精度的关键点人脸检测模型DBFace,并手把手教你如何在自己的电脑端进行部署和测试运行,运行时bug解决。01.前言前段时间DBFace人脸检测库横空出世,...

Scrapy框架的安装(scrapy框架图)

Win+R输入cmd打开命令行我们先把pip升级到最新版,输入代码如下:pipinstall--upgradepip不过一般这种更新方式会经常性出错,安装文件在下载到一半时就会超时报错可以试试...

Pycharm设置本地Python项目解释器

设置Pycharm项目运行的python环境,由于不同的项目使用的python环境是不一样的,需要根据项目配置不同的python环境,比如在电脑上面安装了Python3.11.x和3.9.x两个环境,...

Python支付宝单笔转账接口(python支付宝自动转账)

开发信息接口加签方式为证书模式证书模式好处是可以使用支付宝的转账到支付宝账户,也就是提现功能,公钥模式不能实现转账到支付宝账户。此DEMO利用单笔转账到支付宝账户接口【提现功能】用户可以通过此DEMO...