前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >利用Hook把Git当网站发布工具用

利用Hook把Git当网站发布工具用

作者头像
疯狂的技术宅
发布2019-03-28 11:27:26
8370
发布2019-03-28 11:27:26
举报
文章被收录于专栏:京程一灯京程一灯

以前在服务器上架一个网站,都要其一个FTP server来更新代码,还经常出现误删(本博客就被删过一次,嘤嘤嘤)的情况。后来我就一直用Git来部署了,好处是不用到处找FTP客户端了,代码同时存在服务器和家里的电脑上,万一丢了也能找回来。当然,还可以随时回滚到特定的时间。

这里简单说一下通过Git的Hook机制来更新网站代码,这样你只需要在自己电脑上git push,服务器上的代码就更新了。 首先,你要有SSH权限。

架设服务器端Git仓库

代码语言:javascript
复制
apt-get install git
mkdir repo
cd repo
git --bare init

创建本地Git并完成第一次推送

代码语言:javascript
复制
mkdir source
cd source
touch README
git init
git add README
git commit -m 'init'git remote add origin username@servername:/path/to/repogit push origin master

最后我们来添加Hook,回到服务器

代码语言:javascript
复制
cd /repo/hooks
vim post-receive

然后填入以下内容,记得把web目录的路径替换成你自己的。

代码语言:javascript
复制
#!/bin/shGIT_WORK_TREE=/path/to/www git checkout -f

最后记得

代码语言:javascript
复制
chmod +x post-receive

就大功告成啦。

Hook执行的权限是由你用来往repo push的帐号决定的,如果部署不成功请检查该帐号是否对web目录具有写权限。另外post-receive必须有可执行权限,不然什么都不会发生(我就忘了,检查了好久,这也是为什么要写这篇博客的原因)。

配合GitHub客户端的Revert可以实现版本的回滚发布:

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-07-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 京程一灯 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 架设服务器端Git仓库
  • 创建本地Git并完成第一次推送
  • 最后我们来添加Hook,回到服务器
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档