利用 Git 钩子实现自动部署

Sep 28, 20182 min read

This post was last modified 2020 days ago, and some of the content may be outdated.

当某些重要事件发生时,Git 以调用自定义脚本。有两组挂钩:客户端和服务器端。客户端挂钩用于客户端的操作,如提交和合并。服务器端挂钩用于 Git 服务器端的操作,如接收被推送的提交。

此教程的前提是要求你服务器上必须有个 git 仓库,创建 git 仓库的教程可以参考这篇文章 在CentOS7上搭建自己的Git服务器

以我的 git 仓库 /srv/GitLibrary/blog.git 为例

创建钩子脚本

BASH

写入两句话

BASH

然后

BASH

过程很简单,总结一下: 当客户端 push 完成以后,紧接着远端仓库触发我们定义的钩子脚本, 那句命令会将 /srv/GitLibrary/blog.git 最新版本 checkout 到 /srv/www/blog 中。 你可以自定义这俩目录路径,但是需要注意一点的是该目录必须有写入权限,否则会因为没有权限导致部署失败。 可以使用 chmod 命令赋予权限,以我的文件夹 /srv/www/blog 为例

BASH

OK,大功告成,当客户端 push 完成以后,最新代码就会自动部署到你指定的目录了。🎉🎉🎉

HITS

LAST UPDATED

Sep 28, 2018
Made withbyXiaojun