Github Actions:再次改变软件开发
本文轉自 FEPulse 公眾號(微信搜索 FEPulse,精選國內外最新前端資訊,為你把握前端脈搏)。
Github Actions 是 GitHub Universe 大會上發布的,被 Github 主管 Sam Lambert 稱為“再次改變軟件開發”的一款重磅功能(“we believe we will once again revolutionize software development.”)。本文目的是向大家介紹這一 Github 全新的功能,更多內容可以查看文末的拓展閱讀。
什么是 Github Actions,官網的介紹是:
With GitHub Actions you can automate your workflow from idea to production.
還是很迷糊。不急,我們先看現在的 Github 是什么?代碼倉庫,一個提供了分布式版本控制和源代碼管理的代碼倉庫。想象一下這樣一種場景,你寫好了一個網站的代碼,并且存儲到了 Github 上,但完事了嗎?沒有,你還需要部署代碼才能讓別人訪問你的網站。另外,如果你修改了代碼,還需要單獨測試。理想的情況應該是:當你將代碼提交到 master 時,測試、部署等等所有工作自動執行。之前,Travis、Pre-commit Hooks 可以幫助我們實現部分自動化,而現在有了 Github Actions,通通皆可拋。
Github Actions 可以自動化和定制化項目的 Workflow,像官網顯示的那樣。
Workflow 比較好理解,將對項目的操作概括和按順序整理,在遇到觸發條件時 Workflow 就會按照開發者事先的設置串行或并行地運行一系列 Action,這就是 Github Actions 名稱的由來。上面那張圖中,Action 即一個個方框,Workflow 即將 Action 連接起來的圖表。觸發條件有很多種,比如 push 代碼到 Github,比如 assign 了一個 issue,比如創建了一個 milestone 等等,這些都是 Github 提供的事件,工作流只要監聽關心的事件即可。(目前 Github 一共提供了 26 種事件,想看所有事件可以查看:https://developer.github.com/actions/creating-workflows/workflow-configuration-options/#events-supported-in-workflow-files)
直觀地理解了 Workflow 和 Action,下面再對 Github Actions 的核心 Action 作更深入地理解。Action 是一小段可以運行的代碼,可以用來做很多事情。比如你可以設置一個自動測試的 Action,當提交代碼到 Github 后,Action 便會觸發自動測試;再比如你可以設置一個自動部署的 Action,當代碼通過測試后直接部署到騰訊云、阿里云、Azure 上。除此以外,你還可以拿 Action 做很多事。比如當前項目是一個 NPM Package,你可以設置一個 Action 用來自動 Publish;比如你需要監聽項目的 issue,所以你可以設置一個 Action,當項目中有 issue 創建,給你的微信發一條提醒;比如 minify 或 uglify 你的 JS 代碼……Action 的想象空間很大,全看你的需求。目前 Github 一共發布了 450 個示例 Action,你也可以創建、分享你的 Action,別人也能搜到你的 Action。
講道理,講完基本概念下面就要開始實操了,但 Github Acions 還處于 Beta 階段,并沒有對所有人開放,想要提前使用的可以在官網嘗試申請。因為我還沒拿到測試資格,所以后面有機會的話再說吧。不過已經有 Github Actions 的第一批實踐者寫了一篇文章關于如何設置以及如何創建一個 Action。
拓展閱讀:
總結
以上是生活随笔為你收集整理的Github Actions:再次改变软件开发的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 你真的懂js获取可视区宽高吗
- 下一篇: snippet,让你编码效率翻倍