Github Action 编译和发布APK

Release

使用 Github 的 Action 来自动编译并且发布软件到 Release

如下代码分为两个部分,

  • Build 生产 APK
  • 发布 APK 到 release 页面

Github Action

代码如下:

name: Build and Release

on:
 push:
   branches:
     - master
     - "feature/*"
   tags:
     - "v*.*.*"
 pull_request:
   branches:
     - master
     - "feature/*"

jobs:
 apk:
   name: Generate APK
   runs-on: ubuntu-latest
   steps:
     - name: Checkout
       uses: actions/checkout@v2.4.0
     - name: Branch name
       run: echo running on branch ${GITHUB_REF##*/}
     - name: Setup JDK
       uses: actions/setup-java@v2.5.0
       with:
         distribution: temurin
         java-version: "11"
     - name: Set execution flag for gradlew
       run: chmod +x gradlew
     - name: Build APK
       run: bash ./gradlew assembleDebug --stacktrace
     - name: Upload APK
       uses: actions/upload-artifact@v1
       with:
         name: apk
         path: app/build/outputs/apk/debug/app-debug.apk

 release:
   name: Release APK
   needs: apk
   runs-on: ubuntu-latest
   steps:
     - name: Get branch name
       id: branch-name
       uses: tj-actions/branch-names@v5.1
     - name: Print branch    
       run: |
         echo "Running on default: ${{ steps.branch-name.outputs.current_branch }}"
       
     - name: Download APK from build
       uses: actions/download-artifact@v1
       with:
         name: apk
     - name: Create Release
       id: create_release
       uses: actions/create-release@v1
       env:
         GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
       with:
         tag_name: ${{ github.run_number }}
         release_name: ${{ github.event.repository.name }}  ${{ steps.branch-name.outputs.current_branch }} v${{ github.run_number }}.${{ github.run_attempt }}
     - name: Upload Release APK
       id: upload_release_asset
       uses: actions/upload-release-asset@v1.0.1
       env:
         GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
       with:
         upload_url: ${{ steps.create_release.outputs.upload_url }}
         asset_path: apk/app-debug.apk
         asset_name: ${{ github.event.repository.name }}  ${{ steps.branch-name.outputs.current_branch }} v${{ github.run_number }}.${{ github.run_attempt }}.apk
         asset_content_type: application/zip
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值