📜  使用 GitHub Actions 的 Android 基本 CI 工作流程(1)

📅  最后修改于: 2023-12-03 15:22:11.704000             🧑  作者: Mango

使用 GitHub Actions 的 Android 基本 CI 工作流程

简介

GitHub Actions 是 GitHub 提供的自动化工作流平台,可以通过预设的一些动作来帮助开发者快速、轻松地构建、测试和部署项目。对于 Android 开发来说,GitHub Actions 提供了很好的持续集成(CI)和持续交互(CD)支持。

本文将介绍如何创建一个 Android 基本 CI 工作流程,自动化进行代码质量和测试,提高项目的代码健康度和可靠性。

准备工作

在开始之前,你需要:

  • 持有一个 GitHub 账号。
  • 拥有一个 Android 项目,且项目已经托管在 GitHub 上。
  • 安装 Android Studio
  • 对 CI/CD 打造的理解。
创建 Workflow 文件
  1. 在你的 Android 项目根目录下创建一个 .github/workflows 文件夹。
  2. .github/workflows 文件夹中创建一个 .yml 文件,用于定义工作流程。

以下是一个基本的 Workflow 文件示例:

name: Android CI

on:
  push:
    branches:
    - main
jobs:
  build:
    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v2
    - name: Set up JDK 1.8
      uses: actions/setup-java@v1
      with:
        java-version: 1.8
    - name: Grant execute permission for gradlew
      run: chmod +x gradlew
    - name: Build with Gradle
      run: ./gradlew build

这个文件定义了一个名为 Android CI 的工作流。当推送到 main 分支时,build 作业将在 ubuntu-latest 操作系统上运行。build 作业将在步骤中检查代码,使用 Gradle 构建项目。

解释 Workflow 文件

请按照以下节解释上面的 Workflow 文件中每一条语句:

名称

name: Android CI

工作流的名称。在 GitHub Actions 页面上,这个名称将用于标识工作流的名称。

触发器

on: push: branches: - main

在 main 分支上发生推送时将触发工作流程。你可以使用其他触发器 ,比如pull_request。

作业

jobs: build: runs-on: ubuntu-latest

构建任务,它定义了运行此工作流程的具体实现。build 是工作流程的整个配置的唯一任务。

在这个任务中,我们定义了使用 Ubuntu 操作系统的环境来运行这个任务。你可以使用其他操作系统,如 Windows 和 macOS。

步骤

steps:

  • uses: actions/checkout@v2
  • name: Set up JDK 1.8 uses: actions/setup-java@v1 with: java-version: 1.8
  • name: Grant execute permission for gradlew run: chmod +x gradlew
  • name: Build with Gradle run: ./gradlew build

每个步骤都是执行构建任务的具体操作。

第一个步骤 uses 一个官方 action,克隆当前仓库的最新代码。接着,我们安装 JDK 和设置 JAVA_HOME 路径变量。

通过 chmod +x gradlew 命令,授权 gradlew 执行权限,最后通过运行 ./gradlew build 命令构建项目。

我们可以在此处添加无数个步骤。例如,运行静态代码分析、运行 test 命令、上传构建的 Artifact 等。

检查 Android 项目

到此为止,我们已经完成了一个基本的 Android CI 工作流程。当提交代码时,系统将自动构建项目,并附加到 commit 中。

请注意,本示例未包括整个测试流程。请理解本文的主要目的是教你如何使用 GitHub Actions。

另一个需要注意的是,你需要添加 Gradle Wrapper 以对流程进行管理。如果你在自己的项目中使用了 Gradle Wrapper,请确保包含以下内容:

  • gradlew 文件和 gradlew.bat 文件。
  • 一个 settings.gradle 文件和一个 build.gradle 文件,带有必要的变量和依赖项。
结论

通过自动化检查,以及使用 GitHub Actions、Gradle 和 Git 集成,我们可快速发现和解决固有的问题,提高代码健康度和可靠性,从而在更少的时间内交付更好的品质,使得开发者的工作更高效。

如果你想更多地了解 GitHub Actions,请参考官方 文档