如何告诉Jenkins在构建之间保留Android SDK?

时间:2017-01-19 03:32:17

标签: android jenkins jenkins-pipeline

问题

我正在设置Android Jenkins管道作业。要构建,需要在某个环境中安装Android SDK。它还必须保持SDK更新。

解决方案

我在android update sdk的预构建阶段运行Jenkinsfile

警告和遗留问题

这很有效,但是每次构建都会运行整个更新(10分钟以上),因为SDK显然正被下载到一个位置,在这个位置它会在构建之间被吹走。我应该如何/在哪里存储SDK,以便它在构建之间保持不变(使SDK的运行速度更快)?

这是我Jenkinsfile

的摘录
stage('Update Android SDK') {
       withEnv(['SHARED_HOME=/Users/Shared',
                'ANDROID_HOME=$SHARED_HOME/android-sdk-macosx',
                'PATH=$ANDROID_HOME:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools:$PATH'
       ]) {
            sh 'echo y | android update sdk --no-ui --all --filter platform,tool,platform-tool,extra-android-m2repository'
       }
}

1 个答案:

答案 0 :(得分:1)

  1. 转到Jenkins>管理Jenkins>配置系统
  2. 检查“环境变量”
  3. 添加名称:ANDROID_HOME,值 - >你的android sdk dir示例/ var / jenkins / tools / android-sdk
  4. 点击“添加”
  5. 我个人以这种方式做到这一点。 并且工作正常,所有作业都使用相同的SDK。

    选项1: 使用Android Emulator Plugin 它将自动为您下载SDK到此目录中 的的/ var /詹金斯/工具/ Android的SDK

    然后我按照我早期提到的那样添加了环境变量。

    选项2:

    手动下载SDK,然后我提前添加环境变量。