宝塔面板 Git 怎么部署

liulian
liulian 初级会员超兽战士
发布于 2026-10-08 18:24 ·1 浏览 ·0 回复

照着这篇做完,你能在宝塔面板的服务器上装好 Git 命令,把 Gitee/GitHub 仓库的代码拉到网站目录,并让每次 push 之后服务器自动更新——整个过程不需要手工传压缩包。

第一步:确认服务器有没有 git 命令

这一步是看服务器能不能执行 git,结果是拿到一个版本号。登录宝塔面板,点左侧菜单「终端」,输入:

git --version

如果返回 git version 2.x.x,直接跳到第二步。如果提示 command not found,在同一个终端里按系统装:


yum install -y git

# Ubuntu / Debian
apt update && apt install -y git

装完再执行一次 git --version 验证。

注意:宝塔面板的「软件商店」里没有 Git 这个软件,别在商店里翻,直接用终端装。

第二步:配置仓库密钥(私有仓库必做)

这一步是让服务器有权拉你的私有仓库,结果是服务器能免密访问 Gitee/GitHub。在终端里执行:

ssh-keygen -t rsa -b 4096 -C "deploy@server" -f ~/.ssh/id_rsa -N ""
cat ~/.ssh/id_rsa.pub

复制输出的整段公钥内容,粘贴到 Gitee 仓库的「管理」→「部署公钥管理」→「添加部署公钥」,或 GitHub 仓库的「Settings」→「Deploy keys」→「Add deploy key」。然后测试:

ssh -T git@gitee.com

看到 Hi xxx! You've successfully authenticated 就算通了。

注意:宝塔终端默认是 root 身份,密钥存在 /root/.ssh/。后面如果用 www 用户执行 git pull,它读的是 /home/www/.ssh/,两套密钥不通用,会报 Permission denied (publickey)。

第三步:用宝塔自带的 Git 部署拉代码

这一步是把仓库代码落到站点目录,结果是网站根目录里出现你的项目文件。点左侧「网站」,找到目标站点,点右侧「设置」,切到顶部「部署」标签页,选择「Git 部署」,填写:

  • 仓库地址:git@gitee.com:用户名/仓库名.git(或 HTTPS 地址)
  • 分支:main(老仓库是 master)
  • 部署路径:/www/wwwroot/你的域名
  • 备注:随便写

保存后点「部署」,等待完成即可。

注意:部署路径如果已有文件(比如宝塔默认的 index.html),Git 会拒绝拉取。先把目录清空,或者改用下面第四步的手动 clone。

第四步:手动 clone(首次部署更稳的方式)

如果第三步报错,直接在终端里来一遍。结果是代码和 .git 目录都在站点根目录:

cd /www/wwwroot/你的域名
git clone git@gitee.com:用户名/仓库名.git .
chown -R www:www /www/wwwroot/你的域名

末尾的 . 表示克隆到当前目录而不是新建子目录,别漏掉。

第五步:装 WebHook 插件做自动部署

这一步实现「本地 push,服务器自动更新」。点左侧「软件商店」,搜索「宝塔WebHook」,点「安装」。装完后在「已安装」里点它右侧的「设置」→「添加Hook」,名称填 deploy,脚本填:

#!/bin/bash
echo ""
cd /www/wwwroot/你的域名
git pull origin main 2>&1
echo "部署完成"

保存后复制插件生成的 WebHook URL,粘到 Gitee 仓库的「管理」→「WebHooks」→「添加」(GitHub 是 Settings → Webhooks → Add webhook),勾选 Push 事件。

注意:URL 里的 access_key 和 param 两个参数一个都不能删,删了宝塔会返回 403。

注意:WebHook 插件有独立监听端口,要在宝塔左侧「安全」页面和云厂商控制台的安全组里各放行一次,否则 Gitee 推送记录里会显示「请求超时」。

回到 Gitee 的 WebHook 列表,点「测试」,返回 200 就说明链路通了。之后本地改代码 push,服务器会自动 git pull。

小结

  • 宝塔软件商店没有 Git,用终端 yum install -y git 或 apt install -y git 装。
  • 私有仓库必须配 SSH 部署公钥,注意 root 和 www 用户的密钥是两套。
  • 站点目录不为空时,自带的 Git 部署会失败,首次建议手动 git clone ... .。
  • 自动部署靠「宝塔WebHook」插件,脚本核心是 cd 站点目录 && git pull。
  • 安全组和面板「安全」页要放行 WebHook 端口,否则推送回调超时。
  • 拉完代码记得 chown -R www:www 目录,否则网站可能因权限报错。
版权声明:本文来自 GJ站长论坛《宝塔面板 Git 怎么部署》
原文链接:https://www.gj0.com/thread-1096.html
转载请注明出处并保留本声明;内容仅代表作者观点,与本站立场无关。若本文涉嫌侵权,请联系本站处理。

全部回复 0

还没有回复,来抢沙发~