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 导致页面构建失败