github/gitlab/gitee都很好用,但是公司内部一般是自己搭建代码托管服务器的,毕竟代码放在其它公司服务器上不安全。

大部分公司会选择自行搭建gitlab,但是我的阿里云服务器只有8G内存,想使用小巧些的同类服务,以前用过gogs,后来了解到https://www.drone.io/发现官方建议gitea而不是gogs。

本文中将gitea安装在linux服务器上,使用docker/docker-compose方式。

安装

docker-compose启动gitea

version: "3"

services:
  gitea:
    image: gitea/gitea:1.14.3
    container_name: gitea
    privileged: true
    restart: always
    ports:
      - "3022:22"
      - "3000:3000"
    environment:
      - TZ=Asia/Shanghai
      - LANG=en_US.utf8
    volumes:
      - /opt/docker_data/gitea:/data

gitea的简单使用

假设linux服务器ip为192.168.0.201

  • 在linux服务器上启动服务,docker-compose up -d
  • 在浏览器中操作
    • 访问 http://192.168.0.201:3000,需要变动的配置如下:
      • SSH 服务域名:192.168.0.201
      • 基础URL:http://192.168.0.201:3000/
      • 管理员帐号设置,
        • 管理员用户名:admin000
        • 管理员密码:123456
        • 确认密码:123456
        • 电子邮件地址:admin000@demo.com
      • 点击“立即安装”,页面会跳转到http://192.168.0.201:3000/user/login
    • 使用admin000/123456登录
    • 创建组织(可选)
    • 配置ssh密钥(可选)
    • 创建仓库
    • 仓库名称:first
    • 勾选“初始化存储库 (添加. gitignore、许可证和自述文件)”
    • 点击“创建仓库”
  • 在客户机(如windows)上操作仓库
    • 克隆代码 git clone http://192.168.0.201:3000/admin000/first.git
    • cd first
    • git config user.email "admin000@demo.com"
    • git config user.name "admin000"
    • echo abc > a.txt
    • git add a.txt
    • git commit -m 'add file: a.txt'
    • git push 会提示输入用户名/密码
  • 访问仓库http://192.168.0.201:3000/admin000/first,发现a.txt已被提交。

简单使用到此为止,其实gitea的功能还是很丰富的,可以随意点击看看它的功能。