内容简介:作为一个程序员,我们经常会在Github上开源自己的项目,本文将介绍如何通过Travis CI进行持续集成,并通过蒲公英进行项目的部署。介绍如何简单快速的为你的Github项目添加CICD,提高项目的构建、质量及测试的效率。本文将通过一个Android项目进行示例说明。具体不同的平台的命令配置不一样,但整体的流程一致。
作为一个程序员,我们经常会在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 可以通过这里查看: https://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.项目
项目地址: https://github.com/junbin1011/SmartAPM
Travis构建:
发布地址: https://www.pgyer.com/3Dkk
2.配置文件.travis.yaml
关于
欢迎关注我的个人公众号
微信搜索: 一码一浮生 ,或者搜索公众号ID: life2code
以上所述就是小编给大家介绍的《如何快速为你的Github项目搭建CICD》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 搭建Typescript+React项目模板(4) --- 项目打包
- 健壮的数据仓库项目搭建
- vue入门(一):项目搭建
- Spring项目本地环境搭建
- 搭建Typescript+React项目模板(3) --- 整理项目和杂项
- 搭建Typescript+React项目模板(1) --- 项目初始化
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
The Master Switch
Tim Wu / Knopf / 2010-11-2 / USD 27.95
In this age of an open Internet, it is easy to forget that every American information industry, beginning with the telephone, has eventually been taken captive by some ruthless monopoly or cartel. Wit......一起来看看 《The Master Switch》 这本书的介绍吧!