github Action使用
需求
最近想實現一個自動部署驚天博客的功能,我有一個靜態博客項目,是使用hugo進行編譯和部署的,之前自己寫了一個腳本將變動的博客自動編譯部署到github page 上,也不是很麻煩。但是需要在本機執行一次命令,沒有完全自動化,以前了解過github action的功能,可以在某個分支提交代碼時觸發一個任務,很適合我這個場景,今天來嘗試一下。
github action 其實就是設置一個觸發條件,然后github提供一個運行環境去執行我們實現定義好的程序,每次執行這個任務時,所給的環境都是嶄新的,不保存數據。并且任務的執行時長和一天內的任務執行次數是有限制的。不然早就被薅禿了。
我的需求是,當我在博客項目main 分支 推送代碼時,觸發github action 執行 hugo --minify 將markdown 文件編譯成靜態的 html 文件,然后推送到我的github page 上,完成部署。鎖執行的任務就只有三步——下載代碼,編譯和部署。
先說編譯,這一步是需要用到hugo命令的,github action 給我們提供的環境肯定時沒有這個命令的,我們需要下載安裝,非常棒的是,github 收錄了開發者已經寫好的 action ,我們可以直接拿來用就好了,這個倉庫中就有 hugo 相關的action—— peaceiris/actions-hugo@v2
同理, 部署步驟也有人提供了對應的action,我們也是直接拿來用就好了。—— peaceiris/actions-gh-pages@v3
編譯之前其實還有一步,那就是下載代碼,在一個全新的環境中,如果沒有代碼,難道要編譯空氣?下載代碼肯定離不開 git 工具,難道要我們自己裝一個 git ? 這倒不用自己做,也有現成的 action —— actions/checkout@v2
實現
我們的需求和步驟已經梳理完了,下面看怎么操作吧
personal_token 可以去你的github setting 中獲取,記得保密
驗證
下面在main 分支上推送一次代碼,可以在github action 標簽頁下看到action 運行成功的標識,以及日志:
總結
以上是生活随笔為你收集整理的github Action使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: autojs发微信通知
- 下一篇: 25-方向传感器实现指南针