如何使用 Git Hook 自动部署服务器?

本文介绍了如何利用 Git Hooks 自动部署个人网站到远程服务器。通过设置 Git Hooks,可以在本地更新内容并推送到服务器上的 Git 仓库后,自动将新内容复制到服务器的网页运行目录,从而简化部署流程。首先需要设置 SSH Key 实现无密码登录,然后在服务器端创建 Git 仓库,并编写钩子脚本实现文件的自动同步。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一行命令,自动将本地文件部署到远程服务器上。

最近搭了个个人网站,在放到服务器上时,考虑到,如果每次更新的内容,都要用 FTP 或者别的文件传输方式,将文件一个个的放到服务器上,简直是太麻烦了,有没有什么办法更好,更快的完成部署呢?

使用 Git Hooks(Git 钩子),可以做到这点。Git Hooks 是什么?「Git 能在特定的重要动作发生时触发自定义脚本」,比如说pre-commit, post-receive等等,在这些动作之前或者之后,会运行定义好的脚本。要做到自动部署,就是要用到这个 post-receive

在设置自动部署前,先要设置无密码登录远程服务器,具体操作可以参考这篇文章。[ SSH Key 无密码登录服务器 ]

自动部署

整个流程大概是:在服务器端创建一个 Git 仓库(repository),然后将本地的文件使用 git push 上传到这个仓库后,将上传到Git 仓库的文件,自动复制到服务器里网页运行的文件夹下。

  1. 在服务器端,创建一个 Git 仓库,
git init --bare website.git
  1. 创建 post-receive文件
cd website.git
vim hooks/post-receive

将以下内容复制到post-receive文件里

#!/bin/bash -l
GIT_REPO=/home/git/website.git
TMP_GIT_CLONE=/tmp/website
PUBLIC_WWW=/var/www/zhuangweiming.me/html
rm -rf ${TMP_
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值