赞
踩
这周突然发现公司项目的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。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。