有没有好的方案从 Github 自动检测更新自动 pull 和部署应用?
发布于 12 年前 作者 jiyinyiyong 21198 次浏览 最后一次编辑是 8 年前

Git 管理代码比较习惯了, 每次都是手动 pullforever restart挺麻烦… 加上还要 ssh 服务器, VPS 网络有不稳定的时候, 学校里用的是 Gitlab… 部署和开发可能也不会是同一个人操作. 于是觉得 Git 自动部署会不错… 我原来想的办法只有 crontab 循环进行 pullrestart, 但总重启不合适, 请问大家有用到有什么方案?

7 回复

github有提供一个服务,在项目有更新时,会自动回调指定的URL。

点项目的“Admin”按钮 => Service Hooks => WebHook URLs

参考这里:https://help.github.com/articles/post-receive-hooks

搜了下 Git 可以设置 bare repo 从本地通过 ssh 直接推送到服务器, 并触发挂钩 http://yuguo.us/weblog/push-git-repository-to-server/ http://blog.meiweier.com/2012/08/09/利用git的hooks自动部署网站实践.html http://icyleaf.com/2010/09/apps-auto-deploy-with-git 不如一楼的 Git 好用, 但可以作为备选方案看下…

这么说是自己写 Shell 脚本, 然后用监听着 URL 的服务器调用脚本, 搜了下觉得比较考验人对 Bash 的熟悉度…

写了个小东西http://www.fancycoding.com/automatic-deploy-task-using-github-hooks/

@jiyinyiyong 不需要一定用bash的,只要时script就可以

Github、GitLab、Gitee使用Webhooks实现代码自动部署: http://www.awaimai.com/2203.html 比较全面的git webhooks原理解释和实现。

回到顶部