如何快速为你的Github项目搭建CICD
2020/2/23 23:02:52
本文主要是介绍如何快速为你的Github项目搭建CICD,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
背景
作为一个程序员,我们经常会在Github上开源自己的项目,本文将介绍如何通过Travis CI进行持续集成,并通过蒲公英进行项目的部署。介绍如何简单快速的为你的Github项目添加CICD,提高项目的构建、质量及测试的效率。
本文将通过一个Android项目进行示例说明。具体不同的平台的命令配置不一样,但整体的流程一致。
集成
账号
Travis CI
Travis CI 是目前比较流行的持续集成工具之一,用来构建及测试在 Github 托管的代码,使用它可以极大的简化工作流程。
蒲公英
蒲公英提供专业的手机应用内测服务,您只需将需要内测的应用上传至蒲公英,生成二维码,内测用户通过在手机上扫描二维码,即可将内测应用安装至手机等设备中进行测试
配置
- 授权及开启权限
通过Github账号授权Travis进行登录。在Travis的Settings中开启repositories的授权开关
- 在工程根目录下添加 .travis.yml文件
Travis-CI 本身提供基本的构建和支持语言,同时开发者可以通过.travis.yml文件设置自己的构建操作,同时需要遵从 Travis-CI 自己规定的构建生命周期。具体可参Travis官网介绍。
3.获取蒲公英的token用于发布项目
蒲公英的 API_KEY 可以通过这里查看:www.pgyer.com/account/api
4.配置基础的模板
language: android #语言说明 dist: trusty jdk: oraclejdk8 #jdk版本 sudo: required #权限要求 env: #环境变量 global: - ANDROID_BUILD_TOOLS=29.0.1 - ADB_INSTALL_TIMEOUT=5 # minutes android: #Android 环境要求 components: - tools - platform-tools - build-tools-$ANDROID_BUILD_TOOLS - android-29 - android-21 - extra-google-m2repository - extra-android-m2repository # 配置design 库 - extra-android-support - extra-google-google_play_services - addon-google_apis-google-19 # 配置google play services - sys-img-armeabi-v7a-android-29 - sys-img-armeabi-v7a-android-21 licenses: #内容许可添加 - android-sdk-preview-license-.+ - android-sdk-license-.+ - google-gdk-license-.+ 复制代码
5.执行对应的代码检查、单元测试、真机测试
before_script: ##执行代码规范扫描 - ./gradlew apm:lint ##执行Demo测试脚本 - ./gradlew apm:test #执行测试demo的测试 ##执行代码规范扫描 - ./gradlew lint ##执行Demo测试脚本 - ./gradlew test - ./gradlew connectedAndroidTest 复制代码
6.构建发布
script: #构建版本 - ./gradlew assembleRelease after_script: #发布蒲公英 - set -e - $TRAVIS_BUILD_DIR/pgyer_upload.sh "${TRAVIS_BUILD_DIR}/app/build/outputs/apk/release/app-release-unsigned.apk" 1ffafb3680dc6131e41428163082c76a 复制代码
填坑
1.模拟器启动失败(Error:Target id is not vaild.Use 'android list targets' to get the target ids)
规定的模拟器 android 版本需要在 .travis.yml android 部分声明到相关的版本,并且需要添加对应的配置。
before_install: - yes | sdkmanager "platforms;android-29" - yes | sdkmanager "platforms;android-21" - echo yes | android update sdk --all --filter sys-img-armeabi-v7a-android-21 --no-ui --force > /dev/null 复制代码
2.NDK支持
如果项目中使用cmake,需要添加对应的参数配置。
before_install: - echo y | sdkmanager "ndk-bundle" - echo y | sdkmanager "ndk;20.1.5948944" - echo y | sdkmanager "cmake;3.10.2.4988404" before_script: - export ANDROID_NDK_ROOT=$ANDROID_HOME/ndk-bundle - export ANDROID_NDK_HOME=$ANDROID_NDK_ROOT 复制代码
示例
1.项目
Travis构建:
发布地址:www.pgyer.com/3Dkk
2.配置文件.travis.yaml
关于
欢迎关注我的个人公众号
微信搜索:一码一浮生,或者搜索公众号ID:life2code
这篇关于如何快速为你的Github项目搭建CICD的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-01-18android.permission.read_media_video
- 2024-01-18android_getaddrinfo failed eai_nodata
- 2024-01-18androidmo
- 2024-01-15Android下三种离屏渲染技术
- 2024-01-09Android 蓝牙使用
- 2024-01-06Android对接华为AI - 文本识别
- 2023-11-15代码安全之代码混淆及加固(Android)
- 2023-11-10简述Android语音播报TTS
- 2023-11-06Android WiFi工具类
- 2023-07-22Android开发未来的出路