当前位置:   article > 正文

github actions实现Android持续集成_- name: grant execute permission for gradlew run:

- name: grant execute permission for gradlew run: chmod +x gradlew - name: b

持续集成(Continuous Integration)在很多单位都有现成的系统,但是作为一名工程师,我们还是要了解其原理,可以自己尝试做一下。经过本人的尝试,发现功能并不复杂。这里把持续集成实践经验总结与大家分享。

持续集成用的比较多的是jenkins。后来在网上搜索发现github也有这个功能,就想着用github来实现。github功能的确十分强大,我们平时用到的github功能主要是托管代码等很小一部分功能。本文持续集成android项目实现的功能主要有以下两个:

1.在有新提交时自动编译打包。

2.将打包生成的apk上传至github的文件存储artifact,这样我们就能随时想用的时候就去下载对应的apk。

Step 1:新建workflow

点击自己的github项目,平时我们选择的标签页是Code,这里我们选择action。

 

 

点击New workflow的按钮。

Step2:选择Anroid CI.

在workflow页面选择Android CI。这时会提供给我们一个通用的模板。我们选中这个Android CI,点击Set up this workflow.

选中后在代码在项目 "根目录/.github/workflows" 会生成如下yml文件。

 

当然,如果不通过github的页面去创建workflow,直接在相应目录创建yml文件,然后推送到服务端,也可以识别。注意,通过github ui默认创建的workflow在main分支,我们可以在代码目录的自己想要CI的分支加上对应的yml文件。

yml文件目前的内容如下:

  1. name: Android CI
  2. on:
  3. push:
  4. branches: [ main ]
  5. pull_request:
  6. branches: [ main ]
  7. jobs:
  8. build:
  9. runs-on: ubuntu-latest
  10. steps:
  11. - uses: actions/checkout@v2
  12. - name: set up JDK 11
  13. uses: actions/setup-java@v2
  14. with:
  15. java-version: '11'
  16. distribution: 'adopt'
  17. - name: Grant execute permission for gradlew
  18. run: chmod +x gradlew
  19. - name: Build with Gradle
  20. run: ./gradlew build

从上面的代码中我们可以看出,代码的最后一行执行的任务是build。这里我将其改为./gradlew assembleRelease。这样就可以实现打包apk。

Step3:上传apk到artifact.

为了将apk上传,我们需要使用artifact相关的命令。当执行任务的时候,github有很多种命令可以选择,可以在编辑yml文件的右边的Marketplace寻找自己需要的插件,并查看对应的语法。

这里我们从上图的"Upload a Build artifact"中,找到相应的语法将我的apk上传。最终我的完整的yml文件如下:

  1. name: android master CI
  2. on:
  3. push:
  4. branches: [ master ]
  5. pull_request:
  6. branches: [ master ]
  7. jobs:
  8. build:
  9. runs-on: ubuntu-latest
  10. steps:
  11. - uses: actions/checkout@v2
  12. - name: set up JDK 11
  13. uses: actions/setup-java@v2
  14. with:
  15. java-version: '11'
  16. distribution: 'adopt'
  17. - name: Grant execute permission for gradlew
  18. run: chmod +x gradlew
  19. - name: Build with Gradle
  20. run: ./gradlew assembleRelease
  21. - uses: actions/upload-artifact@v2
  22. with:
  23. name: upload-apk
  24. path: |
  25. ${{github.workspace}}/app/build/outputs/apk/tencent/release/*.apk
  26. ${{github.workspace}}/app/build/outputs/apk/xiaomi/release/*.apk

 

如上图的yml文件,编辑完成后保存。这样,每次我们提交新代码的时候,github就会自动编译并将生成的apk上传。当出现编译错误时,github会自动将错误推送到github绑定的邮箱。 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/521764
推荐阅读
相关标签
  

闽ICP备14008679号