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
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es ist ein Fehler in deren system , ich Bericht es(Problem-url, es ist ziemlich lang), und Sie haben es behoben (Korrektur der url).Ich habe getestet auf mein Projekt und es erfolgreich zu bauen.Versuchen Sie, erstellen Sie Ihr Projekt jetzt und viel Glück.
bitbucket-pipelines.yml
in der Frage sollte in Ordnung sein jetzt.Konnte Sie symlink Ihr Projekt von
/opt/atlassian/bitbucketci/agent/build
zu/project
ab in den container?ln -s /opt/atlassian/bitbucketci/agent/build /project
ist der Befehl, den Sie benötigen.oder alternativ kopieren Sie die Dateien in den neuen Pfad?
Habe ich keine Erfahrung mit android Entwicklung, so YMMV 🙂
Sieht es aus wie
uber/android-build-environment
wird nicht mehr unterstützt.Landete ich mit
javiersantos/android-ci
statt, die einwandfrei funktioniert von Grund auf.Fügen Sie einfach die folgenden Inhalte zu bitbucket-pipeline.yml: