ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

Windows使用gitea搭建Git服务器

2020-07-08 13:35:51  阅读:953  来源: 互联网

标签:Git Windows gitea https mysql 服务器


Git是什么就不多赘述,原先个人项目就是直接托管到github上,相对来说稳定又比较方便。   现在公司原有代码管理方式相对比较局限,所以考虑再搭建一个单独的Git服务器来处理。看了挺多Git服务器的选型,一开始考虑的是gitlab,但是我们开发团队不大,有基础的版本管理功能就能满足需求,所以选用了轻量级的gitea。   当然了,gitlab对服务器要求比较高才是决定性因素。  

 

---

 

## 基础环境

 

### 基础环境准备

 

我用的是 windows server 的服务器来部署,所以本文全文都只讲述window上的搭建,如果有其他系统的需要,可以自行参照官方文档  

 

系统要求:如果用于团队项目,建议使用 2 核 CPU 及 1GB 内存   > 官方文档说是一个廉价的树莓派也能支持运行,但是做长期服务的话,还是用稍微好一点点的配置比较稳定   > 毕竟,能用,和好用,是两码事  

 

数据库支持:所有下载均包括 SQLite, MySQL 和 PostgreSQL 的支持,同时所有资源均已嵌入到可执行程序中   > SQLite是最方便的,因为不用再单独安装软件,直接启用就可以,但是有看到一些文章说是用量比较大以后性能堪忧,emmm,长远考虑还是不图这一下方便了   > PostgreSQL,没了解过,不予置评   > 综上,选用了mysql  

 

gitbash:用来做Git服务器的,这个应该是必须的基础环境了文档没看到gitea有没有内置,但是装一个肯定是没错的   > Git。。每台电脑都有装,但是我平时用的话很少直接用命令行操作,vs和vscode内建的简单git操作对我来说就够了  

 

[gitea二进制文件下载地址](https://dl.gitea.io/gitea)   [mysql下载地址](https://dev.mysql.com/downloads/mysql/)(直接就放了官方网址了,我电脑上有就直接用了5.7.17的包)   [Git下载地址](https://git-scm.com/downloads)  

 

### 基础环境安装

 

全部直接下一步,有特别需要的话自行调整即可   先后顺序也不重要,都有装就行   此处略   > 当然了,mysql的root账号和密码是要记住的)手动狗头  

 

## 起航

 

### 注册为Windows服务

 

软件本体直接双击exe运行的话,会用命令行窗口的形式运行,比较容易出现误触和误关闭的情况,所以建议用官方提供的方法换成Windows服务的形式来运行   需要发布到互联网并在外网访问的话,需要打开防火墙的3000端口(默认是3000端口,端口配置可再配置文件里自行更改)  

 

以下为官方文档原文:   要注册为Windows服务,首先以Administrator身份运行 ```cmd```,然后执行以下命令:  

 

    sc create gitea start= auto binPath= "\"C:\gitea\gitea.exe\" web --config \"C:\gitea\custom\conf\app.ini\""

 

 别忘了将 ```C:\gitea``` 替换成你的 Gitea 安装目录。   之后在控制面板打开 ```Windows Services```,搜索 ```gitea```,右键选择 ```Run```。在浏览器打开 ```http://localhost:3000``` 就可以访问了。(如果你修改了端口,请访问对应的端口,3000是默认端口)。  

 

从Windows服务中删除   以Administrator身份运行 ```cmd```,然后执行以下命令:  

 

    sc delete gitea

 

### 平台初始化

 

把服务器的管理员名字或者其他有权限的用户名填进去,mysql的账号密码填进去,基础信息设置一下就好了,这些都能在配置文件里再更改,问题不大   填完以后稍微等一下,后台进度走完以后就可以   > 要注意的是涉及到地址的,都要填其他电脑访问服务器的地址,有域名的话最好填域名,没有的话,简单的把localhost换成IP也可以,保证都能访问就行   > 这里填的配置文件里也能改,不确定或者先调试的话,可以先用localhost代替  

 

仓库根目录授权   > 涉及到web发布,建议将储存仓库的根目录授予everyone完全控制权限,这样可以解决很多奇奇怪怪的问题  

 

### 创建项目

 

直接点网页右上角加号,然后创建新项目即可,输入信息以后就可以直接用惹   有直接提供一些```.gitignore```模板和授权许可模板,直接选用即可   其他部分就是正常的git操作流程   需要多人♂协作的话,在```仓库设置 - 管理协作者```里搜索用户名添加到名单里并授权即可  

 

## 避坑指南

 

上面的步骤应该都是很顺利的,一直到克隆项目到本地都是很正常的   但是在push项目到服务器上的时候,emmm,容易出问题,比如

 

    error: RPC failed; result=22, HTTP code = 401     fatal: The remote end hung up unexpectedly     fatal: The remote end hung up unexpectedly

 

这就是我本人没错了,从Stack Overflow查到同样的问题,问题定位到Windows凭据出错   后面排查发现可能是因为我电脑之前用过其他git服务器,所以凭据有点错乱,把git凭据全部删掉以后重新push,要输入凭据的时候输入正确的用户名和密码,再尝试就可以正常推送了   修改Windows凭据的方法见参考资料  

 

## 参考资料

 

[Github项目地址](https://github.com/go-gitea/gitea)   [官方中文文档](https://docs.gitea.io/zh-cn/)   [Git - error: RPC failed; result=22, HTTP code = 401 fatal: The remote end hung up unexpectedly - Stack Overflow](https://stackoverflow.com/questions/12544142/git-error-rpc-failed-result-22-http-code-401-fatal-the-remote-end-hung-u)   [访问凭据管理器](https://support.microsoft.com/zh-cn/help/4026814/windows-accessing-credential-manager)   [gitea二进制文件下载地址](https://dl.gitea.io/gitea)   [mysql下载地址](https://dev.mysql.com/downloads/mysql/)   [Git下载地址](https://git-scm.com/downloads)  

标签:Git,Windows,gitea,https,mysql,服务器
来源: https://www.cnblogs.com/qq1353842241/p/13266416.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有