通过git实现应用自动部署

  • 2017-06-09
  • koko
  • git

koko近期维护的几十套应用有频繁的更新,体验了重复去每个服务器手动更新维护的枯燥与无奈,决定寻找方法减少重复的动作,解放双手。 于是借用git+bash实现了应用的自动部署。

现在想回头来总结点通用的经验,却发现没啥好写的。 因为实在太简单了,仅仅是利用了git的post-receive钩子。

原理:

1、本地提交代码到服务器
2、服务器收到代码提交后触发post-receive钩子
3、运行post-receive中配置的bash脚本完成更新

咯~,够简单吧,就三步。

在调试post-receive时遇到一个坑。post-receive中执行的git命令默认会使用GIT_DIR变量,但服务器上这个变量不符合预期,执行git pull命令时会报错

  Not a git repository: ‘.’ 

在post-receive中git代码前面加上下面这句代码即可

unset $(git rev-parse --local-env-vars)

至此就实现通过git自动部署源码。

评论