我无法获得第一个为我的CircleCI 2.0 android项目成功完成的构建。起初我得到gradlew的“许可被拒绝”,这是通过附加“sudo chmod + x gradlew”来修复的。这导致了我当前的错误:
chmod: cannot access 'androidDependencies': No such file or directory
Exited with code 1
我按照以下article中的步骤大纲进行操作。我知道明显的答案是该文件实际上不存在,但应该用“androidDependencies”代替什么?这是我第一次与CircleCI合作,我第一次使用任何CI软件,所以如果这是一个简单的解决方案,我道歉!谢谢你的帮助。
这是我的circle.yml文件:
version: 2
jobs:
build:
working_directory: ~/code
docker:
- image: circleci/android:api-25-alpha
environment:
JVM_OPTS: -Xmx3200m
steps:
- checkout
- restore_cache:
key: jars-{{ checksum "build.gradle" }}-{{ checksum "app/build.gradle" }}
- run:
name: Download Dependencies
command: sudo chmod +x gradlew ./gradlew androidDependencies
- save_cache:
paths:
- ~/.gradle
key: jars-{{ checksum "build.gradle" }}-{{ checksum "app/build.gradle" }}
- run:
name: Run Tests
command: ./gradlew lint test
- store_artifacts:
path: app/build/reports
destination: reports
- store_test_results:
path: app/build/test-results
答案 0 :(得分:0)
我终于解决了这个问题!我只是从我的config.yml文件中替换了以下行:
command: sudo chmod +x gradlew ./gradlew androidDependencies
为:
command: |
sudo chmod +x gradlew
./gradlew androidDependencies
" |" character用于启用多行命令,如参考文档here中所示。
答案 1 :(得分:0)
您的回答是正确的,要启用多行命令,只需添加|但在你的代码中,你有另一行有问题
- restore_cache:
key: jars-{{ checksum "build.gradle" }}-{{ checksum "app/build.gradle" }}
恢复缓存时,不指定与save_cache步骤相同的路径。我建议你添加这样的行路径
- restore_cache:
paths:
- ~/.gradle
key: jars-{{ checksum "build.gradle" }}-{{ checksum "app/build.gradle" }}
这样您就可以正确恢复缓存