使用GitHub Actions在存储库中自定义和执行软件开发工作流程
Actions 的文件后缀为 yml 或 yaml
Actions 语法
name : action 简介
on: action 触发条件
单个触发条件 on: push
多个触发条件 on: [push, pull_request]
复合触发条件
on:# Trigger the workflow on push or pull request,# but only for the main branchpush:branches:- mainpull_request:branches:- main# Also trigger on page_build, as well as release created eventspage_build:release:types: # This configuration does not affect the page_build event above- created
手动触发条件
jobs: action 相关配置
name: Android CIon: [push]jobs:# jobbuild:# 运行环境: ubuntu-latest, window-latest, macos-latestruns-on: ubuntu-latest# job 执行步骤steps:# 拷贝代码- uses: actions/checkout@v2# 配置 jdk- name: set up JDK 1.8uses: actions/setup-java@v1with:java-version: 1.8# 初始化子仓库- name: init submodulerun: git submodule update --init# 添加 gradlew 执行权限- name: Grant execute permission for gradlewrun: chmod +x gradlew- name: Build with Gradlerun: ./gradlew build# - name: upload artifacts# uses: actions/upload-artifact@v2# with:# name: app-apk# path: app/build/outputs- name: Cacheuses: actions/cache@v2with:path: app/build/outputskey: outputs
上传 artifact
- name: upload artifactuses: actions/upload-artifact@v2with:# artifact name 用于下载 artifactname: app-apkpath: app/build/outputs
下载 artifact
# 注意:您只能下载在同一工作流程运行期间上传的工件(同一个 yml 文件内的流程)- name: Download artifactuses: actions/download-artifact@v2with:name: app-apk
缓存文件(可跨 yml 文件)
- name: Cacheuses: actions/cache@v2with:path: app/build/outputskey: outputs
