如何快速为你的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》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

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

社会再平衡

社会再平衡

[加] 亨利·明茨伯格 / 陆维东、鲁强 / 东方出版社 / 2015-9 / 38.00元

明茨伯格曾坦言:我虽然不是律师,但我觉得有必要质疑法律的失效;我也不算是经济学家,但我觉得有义务来挑战一切事物以经济为指标的标准;我也不是人类学家、社会学家、心理学家,或者政治科学,更不是活动分子,但是在我的讨论中,文化、行为、权力、社会运动都扮演了重要的角色。我是一个合成者,我最成功的书都囊括了不同来源的想法。 明茨伯格创作《社会再平衡》这本书的初衷是因为关注身边的趋势:环境的恶化、民主的......一起来看看 《社会再平衡》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

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

HTML 编码/解码

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码