所有老板(至少 99%)都一样,想花一分钱办两分钱的事,想招十块钱的人干二十块钱的事……我表示理解(A Pei ~~ 既想马儿跑得快,又想马儿不吃草)
在老板眼中,我恰好是那个性价比最高的人(自以为是)!对于我来说,多学点东西不是什么坏事,虽然有点辛苦。我一贯赞同一个观点:在一件中上超过90%以上的人,不容易;在两件事上超过80%以上的人,相对容易;……在五件事、十件事上超过90%以上的人,也相对容易!在快认(天)命的年纪,我有勇气和能力认为工作对于我而言就是工作而已,我不看重任何一份工作,但是只要我干,我就会努力去干好,尽一个职工打工人的本分。
gitee 企业版……呵呵!gitee 私域部署……呵呵呵!
我总不能天天找小伙伴们要源码吧,我不愿意被人 BS:既不专业又多心!这点我也理解:毕竟源码也是公司的资产,现在的小伙伴们流动又快,谁能保证走的时候源码是完整的?
于是,自建 git 服务器就是当下要紧的任务了。
网上搜索了相关的资料,以为 Gitea 是最为理想的方案。开源、免费,支持代码审查、错误跟踪、网络托管、私人分支、个人分支、自托管,版本控制系统为 git (接地气),除不支持构建系统、发布二进制文件外和商业支持外,可以说接近于完美了。而且是开箱即用,只需简单配置即可搭建完成。
服务器:实体、云、虚拟,均可(本例是 win 的 server 系统)
git 工具包:Git,自行安装即可
gitea软件包https://github.com/go-gitea/gitea/releases,相对麻烦一点点,老司机都懂得如何踩油门加速,想办法弄下来就是成功(本例下的是 windows-4.0-amd64,建议下载压缩包,不压缩下载还是有些慢的)
要戳“show all ……”,不然是找不到 win 的包的。
sqlite3:SQLite Download Page,小型、快速,免安装(需配置环境变量,方便迁移)
sqlite3 解压到文件夹中(不要有中文、空格、特殊字符等),环境变量中系统变量 Path 添加一条 sqlite3 所在路径(界面为 power toys 系统变量编辑界面)
gitea 下载(解压)完成,放到一个文件夹中(开箱即用,无需安装),位置任意但不建议有中文字符、空格及特殊符号。
自动生成目录不用管。data 目录为手动创建,用于存放数据库及仓库相关文件。data 目录下又有手工创建目录 DB,用于存放 sqlite3 数据库文件。
所有手工创建目录必须要创建,否则在配置时会出错。
运行 gitea,如图。
访问默认地址:localhost:3000,配置说明如下图:
可选设置,依个人实际进行设置即可,无要求可默认。
管理员账号是必须要有,不然何以掌控全局?!填之……
稍等十秒左右,系统就部署完成。因为创建了管理员账号,部署完成后直接进入账号仓库界面。
按正常步骤创建仓库。除仓库名称是必填外(拥有者,可以选择注册用户),其它为选填。
创建完成!
github 20年10月1日后将新库主分支名称改为 main,而 git 默认初始化本地仓库仍为 master,可能导致推送到远程会出现这样或那样的问题。我们修改 git 配置文件(2.X 以上版本支持),将默认(主)分支名称改为 main。修改地方如下图。
万事俱备,以本地现有项目为基础,初始化本地仓库(git 已经安装或配置好)并推送到远程。
推送到远程,提示安全认证未启用。
再次强制推送(--force,创建时初始化了远程仓库【空库,仅有.gitignore】,但未做同步,因此强制推送,本地覆盖远程),弹出对话框要求验证。输入用户密码,确定。推送成功。再次推送时即无需再次认证了。
最终仓库内空如下:
成功!后续研究启用 https 的方法,成功便更新。
gitea 启动后的命令行窗口不能关闭。
一个可以坠落的老菜鸡的自我救赎!
自勉!!!
开启了 https ,因使用的是自签名,所以也一样要添加用户凭据, 添加过一次后续就可以直接 push 推送了。【后面有空再研究使用第三方证书颁发机构签名】
生成自签名,两个签名文件在 gitea 所在目录中,将两个文件复制到 custcom 目录中。
注意:gitea cert --host [127.0.0.1],这里的 gitea 是 gitea 的文件名。如是有版本号则为:
gitea-1.22.1-windows-4.0-amd64 cert --host [127.0.0.1]
嫌麻烦可以修改 gitea 的文件名。
;; HOST 是 gitea 服务器的地址/域名,架在内网的就直接使用内网 IP
gitea cert --host [HOST]
本次使用 gitea 内置的 HTTPS 支持,通过编辑 app.ini 文件实现。app.ini 文件在 custcom 下 的 conf 目录中。修改如下:
[server]
PROTOCOL = https
ROOT_URL = https://git.example.com:3000/
HTTP_PORT = 3000
CERT_FILE = cert.pem
KEY_FILE = key.pem
ROOT_URL 和 HTTP_PORT 按实际进行修改。
重新启动 gitea 后,就只能使用 https 登录 ROOT_URL 指定的地址了,127 的回环地址不能使用了。
漏了一点:要设置HTTP重定向。Gitea服务器仅支持监听一个端口;要重定向 HTTP 请求至 HTTPS 端口,需要启用HTTP重定向服务:
[server]
REDIRECT_OTHER_PORT = true
;; Port the redirection service should listen on
PORT_TO_REDIRECT = 3080