# golang 實現自動部署
以及有好的工具jenkins來實現自動部署 為什么還要用golang實現一套?
因為公司服務器太炸了 安裝上 jenkins 然后會崩了
怎么在占用極少的資源下實現自動部署呢?那就用golang寫一套
其實自動部署 非常簡單

就是本地 機器提交 -> 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)
大家可以看下源碼學習一下