# GO实现自动化部署系统 # golang 实现自动部署 以及有好的工具jenkins来实现自动部署 为什么还要用golang实现一套? 因为公司服务器太炸了 安装上 jenkins 然后会崩了 怎么在占用极少的资源下实现自动部署呢?那就用golang写一套 其实自动部署 非常简单 ![](https://img.kancloud.cn/20/f5/20f5bd07f124bbb2a86832dd377d0eee_1770x726.png) 就是本地 机器提交 -> github -> 当github处理完毕后 请求下我的钩子 -> 然后自动部署工具触发了git pull 这个流程就完毕了 我们现在来看看github会给我们返回什么内容 ``` { "ref": "refs/heads/master", "before": "b61cd27c0bfe30cbac7a731a6ce22790d9e1f6f7", "after": "05300bfb10912f370ac74a5cbc2ed2095a60466c", "repository": { "id": 208684536, "node_id": "MDEwOlJlcG9zaXRvcnkyMDg2ODQ1MzY=", "name": "Cartoon5", "full_name": "dollarkillerx/Cartoon5", ``` 这里主要就是一个ref 这个是 branch 和full_name 这个是 项目的名称 自动部署工具可以更具这个来识别现在改更新那个项目 ### 成品 这个我已经写好了 [https://github.com/dollarkillerx/easydevops](https://github.com/dollarkillerx/easydevops) 大家可以看下源码学习一下