Gitlab Ci gradlew: не существует и --remove не прошел - PullRequest
1 голос
/ 17 июня 2019

Я следую по этой ссылке, чтобы реализовать простой Gitlab ci в моем примере проекта.
это мой конфиг Gitlab ci

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

но он не может найти gradlew и всегда показывает эту ошибку

$ chmod +x ./gradlew
chmod: cannot access './gradlew': No such file or directory
ERROR: Job failed: exit code 1

Ответы [ 2 ]

1 голос
/ 19 июня 2019

Если вы хотите запустить ./gradlew, вы должны отследить этот файл в Git или сгенерировать / установить его в before_script.Что не похоже на то, что это происходит.

Скорее всего, вы не отслеживаете файл gradlew, либо не добавляя его в Git, либо игнорируя его в файле .gitignore.Убедитесь, что вы отслеживаете файл gradlew в вашем VCS.

0 голосов
/ 17 июня 2019

В вашем variables добавьте это: ANDROID_GRADLE_VERSION: "gradle-5.1.1"

И в вашем before_script добавьте это перед chmod +x ./gradlew:

- wget --quiet --output-document=gradle.zip https://services.gradle.org/distributions/${ANDROID_GRADLE_VERSION}-bin.zip
- unzip -q gradle.zip
...