自建 git 服务器

       所有老板(至少 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

      

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值