NB: Я новичок в gitlab CI CD
Обнаружены ошибки в вашем .gitlab-ci.yml:
assembleRelease job: stage parameter should be .pre
build
test
deploy
.post
Вы также можете проверить ваш .gitlab-ci.yml в CI Lint
Мой .gitlab-ci.yml код
image: openjdk:8-jdk
variables: ANDROID_COMPILE_SDK: "29" ANDROID_BUILD_TOOLS: "29.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
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
assembleRelease:
stage: release script:
- echo $KEYSTORE_FILE | base64 -d > my.keystore
- ./gradlew assembleRelease
-Pandroid.injected.signing.store.file=$(pwd)/my.keystore
-Pandroid.injected.signing.store.password=$KEYSTORE_PASSWORD
-Pandroid.injected.signing.key.alias=$KEY_ALIAS
-Pandroid.injected.signing.key.password=$KEY_PASSWORD artifacts:
paths:
- app/build/outputs/apk/release
- CHANGELOG
NB: Пожалуйста, поделитесь тестом сборки конвейера и выпустите код CD для Android