Android-CI mit Bitbucket Rohrleitungen und Andockfenster

Bin ich, die versuchen, Continuous Integration (CI) in Bitbucket Rohrleitungen für Android.

Habe ich eine Probe leer Aktivitäten mit Hilfe von Android Studio 2.1.1.

Rohrleitungen, ich bin mit dem uber - /android-build-Umgebung Docker-container wird erstellt, und die Umgebung schön. Hier ist mein 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

Einige änderungen sind notwendig, da uber - /android-build-Umgebung erwartet ausgeführt werden, etwa so:

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

Beispielsweise die Quelle nicht kopiert, um die Lautstärke /project sondern Pipelines kopiert den Inhalt des Bitbucket-repo in das Arbeitsverzeichnis des Containers an:

/opt/atlassian/bitbucketci/agent/build

Und wenn ./gradlew assembleDebug ausgeführt bekomme ich folgende Fehlermeldung:

...

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

Läuft ls -al im Arbeitsverzeichnis gibt:

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
  • Ich fand keine andere alternative als die Verwendung der uber/android-build-environment:latest Docker-image zu bauen und Android-Gradle-basierte projet mit Bitbucket-Pipelines. Gibt es andere Wege, es zu tun ? Hast du das Problem behoben ?
  • Leider noch nicht. Dies scheint ein Problem zu sein, die mit Pipelines nicht die build-container.
  • I neue CI-integration, die Probleme mit android-Entwicklung-setup-also, wenn möglich, können Sie mir helfen mit der Einstellung CI mit Bitbucket Rohrleitungen
  • Join diesem Raum zu sprechen, chat.stackexchange.com/rooms/46117/ci-intergeation-with-docker
  • kann jemand erklären, was der Prozess geschieht, während bitbucket-pipelines laufen begonnen? uber - /android-build-Umgebung Docker-container heruntergeladen werden auf unserer lokalen Maschine ?
  • Wenn Sie drücken Sie änderungen an Ihrem Bitbucket-Projekt (mit bitbucket-pipelines.yml-Datei vorhanden ist), dann wird das Andockfenster angegebene Bild in deinen bitbucket-pipelines.yml (in dieser Frage waren Sie mit uber/android-build-Umgebung Docker) wird geladen und ausgeführt werden, auf Bitbucket-Pipelines (auf Ihren Servern zu bauen, die nicht Ihre lokale Maschine). Diese Antwort könnte helfen, machen es deutlicher: stackoverflow.com/a/40055055/196486

InformationsquelleAutor Ryan R | 2016-06-01
Schreibe einen Kommentar