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

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

内容简介:作为一个程序员,我们经常会在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》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

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

The Master Switch

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》 这本书的介绍吧!

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具