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

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原理解释和实现。

回到顶部