本文一個嚐鮮的體驗分享, 並無太複雜的技巧, 作了一個最少代碼的例子展現, 讓每一個人均可以把action用起來, 若是路過的大牛有高級技巧請留言分享, 我會補充. 下面正文開始.php
是一個免費的操做系統容器(Linux/Windows/macOS), 咱們可讓他預裝開發環境(node/php/python...). 注: 後面的文章假設咱們選了一臺裝有nodejs的linux服務器.node
咱們能夠上傳(git push)代碼, 而後在他的nodejs中執行, 若是咱們寫的代碼中有測試腳本, 那麼他執行完畢後會給咱們一個圖標反饋到github的提交記錄, 以下圖: python
若是代碼執行出現錯誤, 會反饋一個 紅色的"x"圖標.如今任何倉庫都多了一個action按鈕, 如圖: linux
第一次進入會讓咱們選擇開發環境, 這裏我選擇了nodejs, 點擊對應的"Set up this workflow"按鈕, 如圖:git
點擊後咱們進入了編輯界面, 在這裏咱們要告訴"action"他要作什麼, 如圖: github
若是仔細觀察你會發現: 這個編輯界面對應的是一個文件, 咱們根目錄下多了一個".github/workflows/nodejs.yml", 咱們對 action的設置都會存儲在這裏, 下次修改咱們直接編輯這個文件便可.name: Node CI
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- name: Use Node.js 10.x
uses: actions/setup-node@v1
- name: test
run: |
npm i
npm run test:rules
複製代碼
顯示標題, 運行時顯示, 沒太大意義.shell
看到on就想到事件觸發, 是的他能夠註冊對git動做的監視, 好比監視倉庫的push/pull_request等動做, 想了解更多動做解釋看文檔npm
好比設置監視多個動做:ubuntu
on: [push, pull_request]
複製代碼
還能夠針對分支來監控windows
on:
push:
branches:
- develop
複製代碼
這個是核心功能了, 在這裏咱們要告訴action作什麼,
其下的 "build" 字段暫時可理解成id, 咱們能夠改爲其餘名字好比"test", 若是有多個可讓多個job並行, 可是id不能相同. 注: 文檔中有個needs字段可設置依賴執行, 我還沒實踐他, 若是這篇看的人多, 我研究下而後在寫第二篇補充下 😋)
表示運行的操做系統, ubuntu-latest表明最新版本的Ubuntu, 也能夠指定版本號, 根據文檔提示action支持以下系統:
設置動做, 也就是action的核心功能.
用來設置每步動做的顯示標題, 運行時顯示, 能夠隨意寫.
能夠執行一些action封裝好的動做:
執行命令
好了就寫這麼多吧, 也是初用, 寫的時候也是戰戰兢兢, 怕發佈的時候被大牛噴, 不過真的很喜歡action, 仍是想寫個文章推廣下, 拋磚引玉. 謝謝你們的閱讀.