CircleCI ./gradlew: 权限被拒绝
CircleCI ./gradlew: Permission denied
我有一个 Github
存储库,它建立在 CircleCI
之上。我收到以下错误:
export TERM="dumb" if [ -e ./gradlew ]; then ./gradlew
dependencies;else gradle dependencies;fi bash: line 2: ./gradlew:
Permission denied
export TERM="dumb" if [ -e ./gradlew ]; then ./gradlew
dependencies;else gradle dependencies;fi returned exit code 126
Action failed: gradle dependencies
我不知道这是什么原因造成的,因为我在 circle.yml
文件中提供了必要的权限。
test:
override:
- echo y | android update sdk --no-ui --all --filter tools,platform-tools,build-tools-21.1.2,android-21,extra-google-m2repository,extra-google-google_play_services,extra-android-support
- chmod 777 gradlew
- chmod a+x gradlew
- ANDROID_HOME=/usr/local/android-sdk-linux ./gradlew dependencies
- ./gradlew testVanillaDebugUnitTest -PdisablePreDex
- echo "y" | sudo /opt/google-cloud-sdk/bin/gcloud beta test android run --app app/build/outputs/apk/app-vanilla-debug.apk --test app/build/outputs/apk/app-vanilla-debug-androidTest.apk --device-ids Nexus5 --os-version-ids 22 --locales en --orientations portrait
看着你 circle.yml
(发现 here),失败不是来自第 25 行或第 26 行,而是第 14 行。
请注意执行顺序是
- dependencies:pre
- 依赖关系:post
- 测试:覆盖
- 测试:post
所以你需要做的是删除第 23、24 行并添加 chmod +x gradlew
作为 dependencies:pre
中的第一个命令
- 运行: chmod +x gradlew
- 运行: ./gradlew assemble
所以,首先设置权限,然后运行你想要的命令
我有一个 Github
存储库,它建立在 CircleCI
之上。我收到以下错误:
export TERM="dumb" if [ -e ./gradlew ]; then ./gradlew dependencies;else gradle dependencies;fi bash: line 2: ./gradlew: Permission denied
export TERM="dumb" if [ -e ./gradlew ]; then ./gradlew dependencies;else gradle dependencies;fi returned exit code 126
Action failed: gradle dependencies
我不知道这是什么原因造成的,因为我在 circle.yml
文件中提供了必要的权限。
test:
override:
- echo y | android update sdk --no-ui --all --filter tools,platform-tools,build-tools-21.1.2,android-21,extra-google-m2repository,extra-google-google_play_services,extra-android-support
- chmod 777 gradlew
- chmod a+x gradlew
- ANDROID_HOME=/usr/local/android-sdk-linux ./gradlew dependencies
- ./gradlew testVanillaDebugUnitTest -PdisablePreDex
- echo "y" | sudo /opt/google-cloud-sdk/bin/gcloud beta test android run --app app/build/outputs/apk/app-vanilla-debug.apk --test app/build/outputs/apk/app-vanilla-debug-androidTest.apk --device-ids Nexus5 --os-version-ids 22 --locales en --orientations portrait
看着你 circle.yml
(发现 here),失败不是来自第 25 行或第 26 行,而是第 14 行。
请注意执行顺序是
- dependencies:pre
- 依赖关系:post
- 测试:覆盖
- 测试:post
所以你需要做的是删除第 23、24 行并添加 chmod +x gradlew
作为 dependencies:pre
- 运行: chmod +x gradlew
- 运行: ./gradlew assemble
所以,首先设置权限,然后运行你想要的命令