Git仓库自动部署配置指南

在服务器上配置Git仓库以实现本地推送后自动部署到实际项目目录,可以按照以下步骤操作:


步骤 1:创建裸仓库和项目目录
创建裸仓库(如果尚未创建):
这里我们以 mall 为例
bash
git init --bare /home/git/mall.git
创建实际项目目录:

bash
sudo mkdir -p /var/www/html/mall
步骤 2:设置目录权限
确保 git 用户拥有实际项目目录的写入权限:

bash
sudo chown -R git:git /var/www/html/mall
步骤 3:配置 Git 钩子
创建 post-receive 钩子:

bash
nano /home/git/mall.git/hooks/post-receive
输入以下脚本:

bash
#!/bin/sh
git --work-tree=/var/www/html/mall --git-dir=/home/git/mall.git checkout -f
--work-tree:指定实际项目目录。

--git-dir:指定裸仓库路径。

checkout -f:强制检出最新代码,覆盖现有文件。

赋予脚本执行权限:

bash
chmod +x /home/git/mall.git/hooks/post-receive
步骤 4:本地仓库配置
添加远程仓库:

bash
git remote add origin git@your-server:/home/git/mall.git
推送代码并触发部署:

bash
git push origin master
验证部署
推送完成后,检查 /var/www/html/mall 目录是否包含最新代码。

如果遇到权限问题,尝试:

bash
sudo chown -R git:git /var/www/html/mall
附加说明
钩子扩展:如需在部署后执行其他操作(如安装依赖、重启服务),可在 post-receive 脚本中添加命令:

bash
cd /var/www/html/mall
npm install  # 示例:安装 Node.js 依赖
忽略文件:将敏感文件(如配置文件)加入 .gitignore,避免被覆盖。

通过以上步骤,每次本地 git push 后,代码会自动部署到 /var/www/html/mall 目录。

luffy博客
Please login to comment
  • latest comments
  • Total 0 comments