GIT仓库、源码管理服务器gitea的安装、htttps访问

时间:2022-07-23
本文章向大家介绍GIT仓库、源码管理服务器gitea的安装、htttps访问,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

线上地址:https://gitea.aiprose.com/

不知道大家平时源代码是放哪里的,我了解的是一般用户放到github,国内好多用户选择coding和码云,但是github本来就慢,尤其是被微软收购了以后就更慢了,而且私有仓库收费有点贵。国内常用的就是coding 和码云,coding还可以,码云私有项目开发人员不能超过5个这个限制也很恶心,也收费,交那个会员费,都可以自己买服务器搭建一个私有的git服务器了。

首选方案就是私有化本地搭建一个gitlab服务,但是说实话,这个适合大型团队,个人开发者不适合用,理由是:难安装,依赖太多,如果用的话,建议用docker运行,非常省事。但是gitlab真的是太重了,要求服务器要有4G内存,服务器的成本是硬伤。 Gogs 和 Gitea,gitea 是gogs的一个分支衍生出来的,并且是gitea是由社区驱动开发的,所以更新比较频繁,当然gitea和gogs都是开源的,个人推荐使用gitea。

Gitea介绍

Gitea的首要目标是创建一个极易安装,运行非常快速,安装和使用体验良好的自建 Git 服务。我们采用Go作为后端语言,这使我们只要生成一个可执行程序即可。并且他还支持跨平台,支持 Linux, macOS 和 Windows 以及各种架构,除了x86,amd64,还包括 ARM 和 PowerPC。

功能特性

支持活动时间线 支持 SSH 以及 HTTP/HTTPS 协议 支持 SMTP、LDAP 和反向代理的用户认证 支持反向代理子路径 支持用户、组织和仓库管理系统 支持添加和删除仓库协作者 支持仓库和组织级别 Web 钩子(包括 Slack 集成) 支持仓库 Git 钩子和部署密钥 支持仓库工单(Issue)、合并请求(Pull Request)以及 Wiki 支持迁移和镜像仓库以及它的 Wiki 支持在线编辑仓库文件和 Wiki 支持自定义源的 Gravatar 和 Federated Avatar 支持邮件服务 支持后台管理面板 支持 MySQL、PostgreSQL、SQLite3, MSSQL 和 TiDB(实验性支持) 数据库 支持多语言本地化(21 种语言) 系统要求 最低的系统硬件要求为一个廉价的树莓派 如果用于团队项目,建议使用 2 核 CPU 及 1GB 内存 可以看出性价比极高,适合个人和小团队使用,而且有中文文档。

搭建gitea服务

个人推荐使用docker运行,理由是安装省事方便,不影响宿主机。

新建gitea-dcoker.yml,利用docker-compose启动.

version: "3"
services:
  server:
    container_name: gitea
    image: gitea/gitea:latest
    environment:
      - USER_UID=1000
      - USER_GID=1000
    restart: always
    volumes:
      - /opt/gitea/data:/data
    ports:
      - "3000:3000"
      - "22:22"

这里一定要注意,如果你的ssh端口没有改过的话。默认是22,这样会有冲突,我是把sshd的端口修改成26了,所以这块才能用22。

然后运行命令,启动gitea服务

docker-compose -f gitea-docker.yml up -d

配置NGINX(没有域名的掉过这一步)

如果你配置域名了的话,可以用nginx代理一下,反向代理到3000端口。我这里是默认使用转到443端口,强制使用https,https的证书可以阿里云申请一个免费的。

server {
   listen  80;
   server_name     gitea.aiprose.com;
   rewrite ^(.*)$ https://${server_name}$1 permanent;
}

这里要注意,如果你要通过http提交数据比较大的时候,这种配置是提交不上去的,需要配置请求参数最大,或者通过ssh提交

配置Gitea

如果配置了域名的话,直接打开域名就可以访问了,没有域名的话,浏览器访问 ip:3000就可以了,看到如下的界面就表示你已经成功了。

点击登录或者注册,或让你初始化设置,这里数据库可以选择,我选择的是mysql,如果你的电脑内存不足运行不起来,可以试试sqlite。如果使用docker的话注意数据库的ip设置。

如果你配置了域名,就看着这个,结合自己的实际情况填写,没有域名的直接填写ip+端口,也可以。

如果这里选择设置管理员账户的话,会新建一个管理员,如果这里没有新建,那么你第一个注册的用户就是管理员,因为admin保留,用户名不能使用admin。

如果后面还想改配置,因为我挂载了卷,所以直接去修改,然后重启一下就修改过来了。

验证码也是在配置里设置开启的。

主题颜色可以在个人信息里修改。

如果之前用的其他的仓库,这里可以直接把原来仓库的代码直接迁移过来。

这是最后的页面,是不看起来高大尚,因为是用GO写的,所以很省内存,运行速度也很快,如果你是在内网的话,快的飞起,我这里是6MB的带宽,所以很飞快,当然你们也可以把代码放到我的这个仓库里,可以自由的创建组织。

组织下面可以创建团队,可以用项目区分或者前后端技术区分

这是我们公司现在使用的一个内网的仓库,是按照项目划分团队的。