Intereting Posts
Предупреждение о содержании рекламы в Android Lint Как применять ориентацию EXIF ​​для изображений как URL-адреса в android Блокировка буксировки постоянно выдает исключение на Nexus 5 Ошибка автозапуска Android autoLink Parse CorodvaPush Ionic: Android не показывает уведомления, когда приложение в фоновом режиме Программирование на Android-планшете Закрытие виртуальной клавиатуры при нажатии кнопки Android: сокращение пространства между столбцами в GridView Отправка файла PDF клиенту с сервера через веб-службу Android – установить фоном программного обеспечения Запросить параметр рабочего стола на мобильных устройствах Будет ли LoaderManager.restartLoader () всегда приводить к вызову onCreateLoader ()? Слайд-анимация активности с переопределениемPendingTransition имеет странный эффект Тестирование того, что admob работает перед публикацией Настройка гравитации ImageView в центр в android программно

Android CI с использованием Bitbucket Pipelines и Docker

Я пытаюсь настроить Continuous Integration (CI) в Bitbucket Pipelines для Android.

Я создал образец пустой активности с помощью Android Studio 2.1.1.

С Pipelines я использую контейнер Docker uber / android-build-environment, который прекрасно создает среду. Вот мой bitbucket-pipelines.yml

 image: uber/android-build-environment:latest pipelines: default: - step: script: - echo y | android update sdk --filter "extra-android-m2repository" --no-ui -a # Grab the Android Support Repo which isn't included in the container - ./gradlew assembleDebug 

Необходимы некоторые изменения, так как ожидается, что среда uber / android-build будет работать следующим образом:

 docker run -i -v $PWD:/project -t uber/android-build-environment /bin/bash /project/ci/build.sh 

Например, источник не копируется в том /project но вместо этого Pipelines копирует содержимое репозитория Bitbucket в рабочий каталог контейнера по адресу:

 /opt/atlassian/bitbucketci/agent/build 

И когда ./gradlew assembleDebug запущен, я получаю следующую ошибку:

 ... FAILURE: Build failed with an exception. * What went wrong: Could not create service of type TaskArtifactStateCacheAccess using TaskExecutionServices.createCacheAccess(). > Failed to create parent directory '/opt/atlassian/bitbucketci/agent/build/.gradle' when creating directory '/opt/atlassian/bitbucketci/agent/build/.gradle/2.10/taskArtifacts' * Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. BUILD FAILED Total time: 56.449 secs 

Запуск ls -al в рабочем каталоге дает:

 ls -al total 52 drwxr-xr-x 5 root root 4096 May 31 22:33 . drwxr-xr-x 3 root root 4096 May 31 22:43 .. drwxr-xr-x 3 root root 4096 May 31 22:33 app -rw-r--r-- 1 root root 462 May 31 22:33 bitbucket-pipelines.yml -rw-r--r-- 1 root root 498 May 31 22:33 build.gradle drwxr-xr-x 8 root root 4096 May 31 22:33 .git -rw-r--r-- 1 root root 387 May 31 22:33 .gitignore drwxr-xr-x 3 root root 4096 May 31 22:33 gradle -rw-r--r-- 1 root root 855 May 31 22:33 gradle.properties -rwxr-xr-x 1 root root 4971 May 31 22:33 gradlew -rw-r--r-- 1 root root 2314 May 31 22:33 gradlew.bat -rw-r--r-- 1 root root 15 May 31 22:33 settings.gradle 

Solutions Collecting From Web of "Android CI с использованием Bitbucket Pipelines и Docker"

Это ошибка в их системе, я сообщаю об этом ( выдаю url , это довольно долго), и они исправили ее ( исправить URL-адрес ). Я тестировал свой проект и успешно его запускал. Постарайтесь построить свой проект сейчас и удачи ,

Не могли бы вы связать свой проект с /opt/atlassian/bitbucketci/agent/build to /project из контейнера? ln -s /opt/atlassian/bitbucketci/agent/build /project – это команда, которая вам понадобится.

Или, альтернативно, скопировать файлы на новый путь?

У меня нет опыта разработки Android, поэтому YMMV 🙂