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。

发布了347 篇原创文章 · 获赞 1615 · 访问量 406万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 编程工作室 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览