GitHub Action開啓自動化

這周突然發現公司項目的GitHub代碼庫多了一個Tab頁,叫做GitHub Action。於是瞭解了一下,發現這就是大家期待已久的自動化功能。自動化不只是我們常說的CICD(持續集成和持續部署),通過定義一個yml文件我們可以實現更多的動作。這個yml配置文件會保存在代碼庫的.github文件夾,所以fork出去的代碼庫也跟着自動開啓了相應的GitHub Action功能。

下面就是我們代碼庫裏一個簡單的例子,要實現的功能就是每個人發Pull Request或者Merge到master主庫時,都會自動觸發Gradle編譯。Gradle編譯過程包括了Checkstyle,單元測試,集成測試等。編譯通過後,在你的Pull Request上面會有一個標記。

https://github.com/opendistro-for-elasticsearch/sql/blob/master/.github/workflows/gradle.yml

name: Java CI

on: [push, pull_request]

jobs:
  build:

    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v1
    - name: Set up JDK 1.12
      uses: actions/setup-java@v1
      with:
        java-version: 1.12
    - name: Build with Gradle
      run: ./gradlew build

除了完全自定義,GitHub已經貼心地內置了許多Action。這些Action涵蓋了許多常用的任務,像對各種編程語言和構建工具的支持等。如果這些預定義Action無法滿足你的話,可以像我們一樣自定義。具體GitHub提供了多大的自由度,請看官方文檔:https://help.github.com/en/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章