【发布时间】:2018-03-07 23:43:34
【问题描述】:
我正在 circleci 2.0 上构建一个工作流,到目前为止,作业一直在运行,直到它到达 android 作业。
在构建步骤./gradlew assembleRelease 中,它表明未设置 ENV VAR:
Unzipping /home/circleci/.gradle/wrapper/dists/gradle-2.14.1-all/8bnwg5hd3w55iofp58khbp6yv/gradle-2.14.1-all.zip to /home/circleci/.gradle/wrapper/dists/gradle-2.14.1-all/8bnwg5hd3w55iofp58khbp6yv
Set executable permissions for: /home/circleci/.gradle/wrapper/dists/gradle-2.14.1-all/8bnwg5hd3w55iofp58khbp6yv/gradle-2.14.1/bin/gradle
FAILURE: Build failed with an exception.
* What went wrong:
Could not open terminal for stdout: $TERM not set
我根据this post 所做的尝试是将 $TERM 变量设置为 gradle 调用之前的运行命令。但是构建仍然无法查找此变量。
问题:
如何解决 $TERM not set on gradlew ./assembleRelease on CIrcleCI?
我确实根据这篇 SO 帖子验证了我使用的是正确的 docker 映像:
https://stackoverflow.com/a/45744987/1829251
这是android CI 作业的 config.yml 要点:
android:
working_directory: ~/repo/android
docker:
- image: circleci/android:api-25-node8-alpha
steps:
- checkout:
path: ~/repo
- restore_cache:
key: jars-{{ checksum "build.gradle" }}-{{ checksum "app/build.gradle" }}
- attach_workspace:
at: ~/repo
- run: ./gradlew androidDepedencies
- run: export TERM=xterm
- run: sudo chmod +x ./gradlew
- run: ./gradlew assembleRelease
- save_cache:
paths:
- ~/.gradle
key: jars-{{ checksum "build.gradle" }}-{{ checksum "app/build.gradle" }}
- store_test_results:
path: ~/repo/android/reports
【问题讨论】:
标签: gradle android-build circleci-2.0