上篇介紹了怎麼利用hugo搭建我的博客。 有一個地方仍是有點不方便,就是git push以後須要等半個小時才能發佈。
因此我想利用github的webhook實現每次推送自動發佈。git
所謂的webhook,就是鉤子,就是github搞事情的時候就會通知你。因此你須要準備一個接口接收github的post請求。 這裏我設置爲接收json格式數據,僅push時通知。
github
生產環境通常是使用Travis Ci或者Jenkins來實現相似功能,但這對於我來講有點重型了。因此本身寫個接口簡單實現下。
需求很簡單,每當有代碼推送的時候,拉取git併發布到blog部署目錄。web
我這裏使用.net core實現,代碼十分簡單,其實就一行,執行blog.sh腳本。json
[ApiController] public class GitSubscriberController : ControllerBase { [Route("api/blog/gitsubscriber")] [HttpPost] public IActionResult GitSubscriber([FromBody]object request) { Process.Start("/scripts/blog.sh"); return Ok(); } }
再看下這個blog.sh腳本的內容,也很簡單,首先拉取git內容,再拷貝到部署目錄就好了。api
#!/bin/bash cd /git/blog git pull cp -rf /git/blog/public/. /www/wwwroot/www.holdengong.com/
這裏有3個小坑要注意bash
大功告成。接下來能夠愉快的寫日誌了,寫完只須要簽入,自動發佈,爽!併發
這篇博客由系統自動發佈post