主要观点:近期开始设置自托管的cgit
服务器作为主要代码库,起初考虑多种自动化部署工具但都不合适,后意识到可利用git
内置的post-receive
钩子,详细记录了整个过程,包括准备服务器(确保git
仓库可ssh
访问部署服务器并在部署服务器克隆git
仓库)、编写post-receive
脚本(根据自身项目需求编写,如构建个人网站,包含ssh
连接到服务器、执行构建命令、同步构建目录等步骤)、测试(在git
项目中推送更改到master
分支查看脚本执行效果及网站变化),同时仍使用sourcehut
进行仓库镜像和邮件列表处理。
关键信息:需已设置git
服务器,可基于cgit
在 NearlyFreeSpeech 上运行,post-receive
脚本可实现远程推送master
分支时自动构建和部署项目,要注意给脚本赋予正确权限。
重要细节:脚本中通过if
判断推送分支是否为master
,ssh
连接到部署服务器执行构建命令,使用rsync
同步构建目录到公共网站目录等。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。