GitHub Action开启自动化

Posted cdai

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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。

以上是关于GitHub Action开启自动化的主要内容,如果未能解决你的问题,请参考以下文章

Github action bot 推送到 gh-pages 导致页面构建失败

通过GitHub Action自动部署Maven项目

再探CI,Github调戏Action手记——自动构建并发布到另一仓库

Gradle Github Action 发布

Gradle Github Action 发布

Gradle Github Action 发布