前言
你是否想过拥有自己专属的git服务器,能在连git是什么都不知到的同学面前秀一波优越感?你也许认为这样的git私服是大企业才能搭建的,那你的认知可能有些问题。搭建git服务器其实不难,一个树莓派的算力就足够了(官方文档说的)。今天小编就带大家了解一下如何在家用Gitea搭建一个git私服,如果你没公网ip但想通过公网访问那可以看看我的上一期文章。注意:你必须要有域名(会方便些不然需要手动配https证书)
Gitea简介(官网复制)
Gitea 是一个轻量级的 DevOps 平台软件。从开发计划到产品成型的整个软件生命周期,他都能够高效而轻松的帮助团队和开发者。包括 Git 托管、代码审查、团队协作、软件包注册和 CI/CD。它与 GitHub、Bitbucket 和 GitLab 等比较类似。 Gitea 最初是从 Gogs 分支而来,几乎所有代码都已更改。
如何安装
gitea 官方提供了多种可选的安装方式,这里推荐使用docker或面板来安装。小编就是利用1panel进行的安装,流程并不复杂几乎是傻瓜式的操作。
使用1panel安装
使用1panel安装Gitea大致有以下步骤:
数据库准备
无论你使用何种方式安装1panel你都需要提前准备好数据库,官方支持MySQL和PostgreSQL(内部集成的SQL lite),你只需要在应用商店安装即可。1panel对MySql和PostgreSQL都有支持选哪个都行。应为我在之前配置halo时就已经有了MySQL所以我这次还是使用了MySQL。不过对于使用面板来安装的朋友们来说,数据库的选择几乎是无感的。你甚至不需要记住数据库的root密码,一切交给面板就好。
安装Gitea应用
在应用商店中搜索Gitea
选择第一个Gitea,在配置安装参数时只需要注意端口别冲突了。在安装完成之后到网页配置项中配置反向代理,如果你使用了我上一篇文章讲述的反向隧道代理方案那别忘了在代理端的Nginx上也添加上新的域名。要注意添加网站时Gitea并没有一键部署的选项,所以一定要记得在安装时选择的端口。
初步配置
此时我们第一次访问访问网站,会让你做一些选项。其中只有公司名称和域名需要注意,名称可以随便选,域名需要是正确的。配置完后就可以愉快的使用了。
使用docker安装
面板安装的底层也是docker,所以整个逻辑都是相似的。需要注意的有两点。
网络连接
部署Gitea的容器要能够连接的SQL容器,可以使用docker-conpose或手动配置实现。如果你有多个项目需要用到SQL那么使用docker-conpose是件挺浪费的事,所以在这种情况推荐手动配网。
参数配置
我们需要配置一些环境参数,主要是和SQL相关。
MySQL的参数
environment:
- GITEA\_\_database\_\_DB\_TYPE=mysql**
- GITEA\_\_database\_\_HOST=db:3306**
- GITEA\_\_database\_\_NAME=gitea**
- GITEA\_\_database\_\_USER=gitea**
- GITEA\_\_database\_\_PASSWD=gitea**
PostgreSQL的参数
environment:
- GITEA\_\_database\_\_DB\_TYPE=postgres**
- GITEA\_\_database\_\_HOST=db:5432**
- GITEA\_\_database\_\_NAME=gitea**
- GITEA\_\_database\_\_USER=gitea**
- GITEA\_\_database\_\_PASSWD=gitea**
使用包管理器安装
使用包管理器安装是最为传统的安装方式,Gitea当然是支持的。使用这种方式默认会以内置的SQL lite作为数据库,使用其他数据库需要单独配置。有多种包管理器都可以安装Gitea,我以ArchLinux的pacman为例。
sudo pacman -S gitea
这样就安装好了,还需配置服务自启动
sudo systemctl enable gitea
以上是所有的安装方式
使用须知
如果你使用里我上期文章的方式配置里ssh反向隧道来接入公网那你是不能使用ssh上传代码的。你需要在配一条反向隧道用于ssh的传输。此时一定不能直接配置到代理端的22端口,你把22端口设置成代理了,你想ssh连一下那个服务器都不行,你直接就直接连到Gitea的的ssh了。所以还需配置Nigex。这显得十分麻烦,所以我并没有配置。https上传对于大部分的人够用了。