如何快速为你的Github项目搭建CICD

栏目: IT技术 · 发布时间: 5年前

内容简介:作为一个程序员,我们经常会在Github上开源自己的项目,本文将介绍如何通过Travis CI进行持续集成,并通过蒲公英进行项目的部署。介绍如何简单快速的为你的Github项目添加CICD,提高项目的构建、质量及测试的效率。本文将通过一个Android项目进行示例说明。具体不同的平台的命令配置不一样,但整体的流程一致。

作为一个程序员,我们经常会在Github上开源自己的项目,本文将介绍如何通过Travis CI进行持续集成,并通过蒲公英进行项目的部署。介绍如何简单快速的为你的Github项目添加CICD,提高项目的构建、质量及测试的效率。

本文将通过一个Android项目进行示例说明。具体不同的平台的命令配置不一样,但整体的流程一致。

集成

账号

Travis CI

Travis CI 是目前比较流行的持续集成 工具 之一,用来构建及测试在 Github 托管的代码,使用它可以极大的简化工作流程。

蒲公英

蒲公英 提供专业的手机应用内测服务,您只需将需要内测的应用上传至蒲公英,生成二维码,内测用户通过在手机上扫描二维码,即可将内测应用安装至手机等设备中进行测试

配置

  1. 授权及开启权限

通过Github账号授权Travis进行登录。在Travis的 Settings 中开启repositories的授权开关

  1. 在工程根目录下添加 .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构建: 如何快速为你的Github项目搭建CICD

发布地址: https://www.pgyer.com/3Dkk

2.配置文件.travis.yaml

请参考 SmartAPM/.travis.yml

关于

欢迎关注我的个人公众号

微信搜索: 一码一浮生 ,或者搜索公众号ID: life2code

如何快速为你的Github项目搭建CICD


以上所述就是小编给大家介绍的《如何快速为你的Github项目搭建CICD》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

免费:商业的未来

免费:商业的未来

Chris Anderson / 中信出版集团 / 2015-10-1 / 35.40

《免费》,这是一个商业模式不断被颠覆、被改写的时代。一种商业模式既可以统摄未来市场,也可以挤垮当前市场——在我们这个现代经济社会里,这并不是一件不可能的事情。“免费”就是这样的一种商业模式,它代表了互联网时代的商业未来。 “免费”商业模式是一种建立在以电脑字节为基础上的经济学,而非过去建立在物理原子基础上的经济学。在原子经济中,随着时间的推移,我们周围的物品都在逐渐升值。但是在字节经济的网络......一起来看看 《免费:商业的未来》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具