Я реализую распространение APK с помощью Firebase App Distribution, используя Circle CI и в котором у меня есть рабочий процесс с двумя заданиями: одно задание создает APK, а второе развертывает его в распределении приложений Firebase.
version: 2.1
jobs:
build:
working_directory: ~/code
docker:
- image: circleci/android:api-29
environment:
JVM_OPTS: -Xmx2g
GRADLE_OPTS: '-Dkotlin.compiler.execution.strategy="in-process"'
steps:
- checkout
- run:
name: Create keystore.jks
command: echo $RELEASE_KEY_BASE64 | base64 --decode > $RELEASE_KEY_STORE
- run:
name: Create keystore.properties
command: printf 'releaseKeyAlias=%s\nreleaseKeyPassword=%s\nreleaseKeyStore=%s\nreleaseStorePassword=%s' $RELEASE_KEY_ALIAS $RELEASE_KEY_PASSWORD $RELEASE_KEY_STORE $RELEASE_KEY_PASSWORD > keystore.properties
- restore_cache:
key: jars-{{ checksum "build.gradle" }}-{{ checksum "app/build.gradle" }}
- run:
name: Download Dependencies
command: ./gradlew androidDependencies
- save_cache:
paths:
- ~/.gradle
key: jars-{{ checksum "build.gradle" }}-{{ checksum "app/build.gradle" }}
- run:
name: Run Tests
command: ./gradlew lint test
- run:
name: Run UnitTest
command: ./gradlew test
- store_artifacts:
path: app/build/reports
destination: reports
- store_test_results:
path: app/build/test-results
- run:
name: Initial build
command: ./gradlew clean assembleRelease --no-daemon --stacktrace
- store_artifacts:
path: app/build/outputs/apk/
destination: apks/
deploy:
docker:
- image: circleci/ruby:2.4-node
working_directory: ~/code
shell: /bin/bash --login -o pipefail
steps:
- checkout
- run:
name: Install Firebase CLI
command: curl -sL https://firebase.tools | bash
- run:
name: Distribute APK to Firebase
command: firebase appdistribution:distribute "/home/circleci/code/app/build/outputs/apk/release/app-release.apk" --app $FIREBASE_APP_ID --token $FIREBASE_TOKEN --release-notes "Test Release Note" --groups $FIREBASE_TEST_GROUP --debug
workflows:
version: 2.0
build-deploy:
jobs:
- build:
- deploy:
requires:
- build
И когда я получаю доступ к APK в задании развертывания, которое было сгенерировано в задании сборки, я получил следующую ошибку. Ошибка: Файл /home/circleci/code/app/build/outputs/apk/release/app-release.apk не существует: убедитесь, что файл указывает на дистрибутив.
Но Один и тот же код работает над одной работой. Есть ли способ получить доступ к файлу для другого задания?