Android GitLab CI. Повторное использование скомпилированных файлов по этапамAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Android GitLab CI. Повторное использование скомпилированных файлов по этапам

Сообщение Anonymous »

Я ищу решение для оптимизации выполнения конвейера путем повторного использования скомпилированных файлов с предыдущих этапов.
Давайте сузим его. до двух этапов: компиляция-тест. предоставит доступ к своей папке сборки для тестирования.
До сих пор я пробовал ключевое слово «зависимости». Но Gradle, похоже, не использует повторно файлы, что бы я ни делал.
Подтверждение концепции
Доказательство концепции достижимо локально, в Android-студия:

Код: Выделить всё

./gradlew clean
./gradlew compileReleaseKotlin compileReleaseJavaWithJavac
./gradlew --console=plain app: testReleaseUnitTest
Я вижу все АКТУАЛЬНЫЕ журналы рядом с задачами компиляции, ksp и т. д. при выполнении тестовой команды.Попытка 1
Но когда конвейер запускается с ними, я вижу, что gradle снова выполняет все задачи.

Код: Выделить всё

compile:
stage: compile
script:
- ./gradlew --console=plain compileReleaseKotlin compileReleaseJavaWithJavac
artifacts:
paths:
- app/build/
expire_in: 1 days

tests_release:
stage: tests
dependencies:
- compile
script:
- ./gradlew --console=plain app:testReleaseUnitTest
Попытка 2
Я даже пытался удалить некоторые команды вручную, вот так

Код: Выделить всё

- ./gradlew --console=plain app:testReleaseUnitTest -x :app:compileGmsReleaseKotlin -x :app:kspGmsReleaseKotlin
Но тогда это терпит неудачу с

Код: Выделить всё

Execution failed for task ':app:processGmsReleaseJavaRes'.
> Querying the mapped value of provider(java.util.Set) before task ':app:compileGmsReleaseKotlin' has completed is not supported
Попытка 3
Я также попробовал загрузить артефакты и поместить их в свои локальные файлы. И вроде частично работает. Так может быть проблема в том, что мне нужно как-то применить эти файлы?
TL;DR
Как повторно использовать скомпилированные файлы (папка модуля/сборки) ) для последующих этапов CI в одном конвейере?

Подробнее здесь: https://stackoverflow.com/questions/789 ... ugh-stages
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»