zoukankan      html  css  js  c++  java
  • Android 项目配置 gitlab-ci 持续集成

    一、项目根目录下创建一个 .gitlab-ci.yml 文件

    然后在 .gitlab-ci.yml 中配置持续集成的脚本:

    脚本配置详细可以看:

    Configuration of your jobs with .gitlab-ci.yml

    Setting up GitLab CI for Android projects

    二、为项目配置 gitlab-runner

    我用的 windows 电脑,可以看这篇配置   : Windows 下 docker 部署 gitlab ci

    三、说明

    红框中有两个对勾,说明有两个 job,顺序与 文件中定义的顺序一致。

    文件内容:

    image: openjdk:8-jdk
    
    variables:
      ANDROID_COMPILE_SDK: "28"
      ANDROID_BUILD_TOOLS: "28.0.2"
      ANDROID_SDK_TOOLS:   "4333796"
    
    before_script:
      - apt-get --quiet update --yes
      - apt-get --quiet install --yes wget tar unzip lib32stdc++6 lib32z1
      - wget --quiet --output-document=android-sdk.zip https://dl.google.com/android/repository/sdk-tools-linux-${ANDROID_SDK_TOOLS}.zip
      - unzip -d android-sdk-linux android-sdk.zip
      - echo y | android-sdk-linux/tools/bin/sdkmanager "platforms;android-${ANDROID_COMPILE_SDK}" >/dev/null
      - echo y | android-sdk-linux/tools/bin/sdkmanager "platform-tools" >/dev/null
      - echo y | android-sdk-linux/tools/bin/sdkmanager "build-tools;${ANDROID_BUILD_TOOLS}" >/dev/null
      - export ANDROID_HOME=$PWD/android-sdk-linux
      - export PATH=$PATH:$PWD/android-sdk-linux/platform-tools/
      - chmod +x ./gradlew
      # temporarily disable checking for EPIPE error and use yes to accept all licenses
      - set +o pipefail
      - yes | android-sdk-linux/tools/bin/sdkmanager --licenses
      - set -o pipefail
    
    stages:
      - build
      - test
    
    lintDebug:
      stage: build
      script:
        - ./gradlew -Pci --console=plain :app:lintDebug -PbuildDir=lint
    
    assembleDebug:
      stage: build
      script:
        - ./gradlew assembleDebug
      artifacts:
        paths:
        - app/build/outputs/
    
    debugTests:
      stage: test
      script:
        - ./gradlew -Pci --console=plain :app:testDebug

    如果集成中出现错误:

    可以点击进去查看错误原因,解决之后重新加载一遍:

    推荐一个 Docker Android 镜像:

    docker-android-sdkhttps://hub.docker.com/r/runmymind/docker-android-sdk

    Update : 2019/1/15

    对 CI  .gitlab-ci.yml  文件内容修改,更换镜像,避免每次都下载 Android SDK :

    image: runmymind/docker-android-sdk
    
    before_script:
      - chmod +x ./gradlew
    
    stages:
      - build
    
    assembleDebug:
      stage: build
      script:
        - ./gradlew clean
        - ./gradlew assembleDebug
      artifacts:
        paths:
        - app/build/outputs/
      only:
        - master
    
    assembleRelease:
      stage: build
      script:
        - ./gradlew clean
        - ./gradlew assembleRelease
      artifacts:
        paths:
        - app/build/outputs/
      only:
        - master

        脚本自动化打包测试结果:

  • 相关阅读:
    搭建自己的React+Typescript环境(一)
    搭建最简React环境
    react-router v5笔记
    React 教程:如何使用 webpack 4 和 Babel 7 构建 React 应用(2018)
    JavaScript 笔记
    JavaScript常用方法
    React和相关工具链的理解
    redux-thunk
    前端构建之NPM
    react-redux总结
  • 原文地址:https://www.cnblogs.com/aimqqroad-13/p/10115799.html
Copyright © 2011-2022 走看看