您现在的位置是: 首页> 其他>git项目仓库使用钩子(hook)自动更新服务器代码 所属分类:其他
git项目仓库使用钩子(hook)自动更新服务器代码
初柒先生
2019-09-05 11:46
【git】
【钩子】
【hook】
179人已围观
简介git版本管理器能很好地管理我们的项目,同时也可以自动更新服务器代码。这样做,我们就可以免除部署发布项目到服务器,可以减少很多工作。
git版本管理器能很好地管理我们的项目,同时也可以自动更新服务器代码。这样做,我们就可以免除部署发布项目到服务器,可以减少很多工作。
具体设置如下步骤:
步骤1:添加自动更新钩子
在”git服务器项目/hooks/“目录下,将”post-update.sample“文件复制一份为”post-update“文件,linux执行代码:
cp post-update.sample post-update
在”post-update“添加执行代码:(每次我们提交本地编辑的代码,都会同步更新服务器的代码)
#!/bin/sh
#
# An example hook script to prepare a packed repository for use over
# dumb transports.
#
# To enable this hook, rename this file to "post-update".
cd 服务器项目地址 || exit #例如:/www/wwwroot/blog
unset GIT_DIR #还原环境变量
git reset --hard #放弃本地修改
git pull origin master
步骤2:测试钩子
重要:如果git服务器的管理用户和web服务器的管理用户不是同一个的话或者用户组不是同一个组,需要将git服务器的管理用户添加到web服务器的管理用户组中。
在git仓库我们配置好了钩子,我们需要测试是否成功。第一次测试出现如下错误:(没有权限)
remote: Permission denied, please try again.
remote: Permission denied, please try again.
remote: Permission denied (publickey,password).
remote: fatal: The remote end hung up unexpectedly
解决方法:修改部署目录的”.git/config“配置文件(原理是git仓库和web项目部署是在同一个服务器)
//修改前
url = dan@server:/home/dan/repo/
//修改后
url = /home/dan/repo/
解决方法参考:https://stackoverflow.com/questions/9314206/git-post-receive-hook-remote-permission-denied-please-try-again
自动更新参考:https://blog.csdn.net/glx490676405/article/details/78329004
很赞哦! (0)
初柒先生
2019-09-05 11:46
【git】
【钩子】
【hook】
179人已围观
上一篇:git常用命令
相关文章
文章评论
猜你喜欢
