🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# golang 实现自动部署 以及有好的工具jenkins来实现自动部署 为什么还要用golang实现一套? 因为公司服务器太炸了 安装上 jenkins 然后会崩了 怎么在占用极少的资源下实现自动部署呢?那就用golang写一套 其实自动部署 非常简单 ![自动部署](https://upload-images.jianshu.io/upload_images/2489344-6991dc458748b7d5.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) 就是本地 机器提交 -> 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) 大家可以看下源码学习一下