我正在尝试在Android的Bitbucket Pipelines中设置持续集成(CI)。使用Bitbucket流水线和Docker的Android CI
我已经使用Android Studio 2.1.1创建了一个示例空白活动。
使用管道我使用uber/android-build-environment Docker容器,它很好地创建了环境。这是需要我的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-environment期待被这样运行:
docker run -i -v $PWD:/project -t uber/android-build-environment /bin/bash /project/ci/build.sh
例如,源不被复制到卷/project
而是管道副本内容
/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
我没有发现使用'超级/ android-build-environment:latest' Docker镜像来构建基于Android Gradle的projet并使用Bitbucket Pipelines的其他选择。还有其他方法可以做到吗?你解决了你的问题吗? – metch
不幸的是还没有。这似乎是管道而不是构建容器的问题。 –
@RyanR我新来CI集成有问题的Android开发设置,所以如果可能的话,你可以帮助我设置与Bitbucket流水线CI –