Gogs 搭建和githook自动化部署

Last updated on 3 months ago

​ 昨天 体验到了 rm 的威力( 手残 把自己服务器的 /home都给删除了,好多代码都寄了….. )… 导致 早期的搭建的git服务器 挂了,无法更新博客,想到备份而了镜像进行回滚,但是 回滚的是好久之前的,什么都没搭好,于是今天用了一下午的时间 搭建…

​ 搭建 git的时候按照老办法,突然发现了一个 叫 Gogs的git管理工具,从介绍上看 Gogs 是一款极易搭建的自助 Git 服务,没试过,我也就试试,搭建一气呵成,我选择用 二进制安装的,方便快捷,搭建好后,开放了一个端口,然后需要用户登录,这就有点类似于 github 了

image-20220416173330870 按照 网上教程很快就完成了

服务器搭建好了后,还是和以前一样方案 本地push到主分支 , 触发githook ,执行指定代码,在服务器上 pull最新的源码, 最后用 Nginx做解析

遇到个问题就是 触发githook 后无法 执行pull ,一直说目录 没有 .git ,这个搞了很久,我忘记 上次是怎么弄了 (没总结的后果!!)

后来在 Stack Overflow 找到了答案 ,完美解决!!!

image-20220416174052831

为什么会这样呢?

原来 git 首选使用路径是 GIT_DIR, 其次 才是PWD ,用 unset GIT_DIR 把这个环境变量,git 则会用 PWD!

想着以后可不可以将这个打包成一个镜像,以后直接用 docker 运行这镜像??