当前位置: 首页 > 面试题库 >

使用Bitbucket Pipelines和Docker的Android CI

孟自强
2023-03-14
问题内容

我正在尝试在Android的Bitbucket管道中设置持续集成(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,而是管道将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

问题答案:

这是他们系统中的错误,我向他们报告了这个问题(问题url,它很长),他们已经修复了它(fix
url
)。我已经在我的项目上进行了测试,并成功构建了。现在尝试构建您的项目,祝您好运。



 类似资料:
  • 环境说明 CentOS 7.3(不准确地说:要求必须是 CentOS 7 64位) 不建议在 Windows 上使用 Docker 基本概念 官网:https://www.docker.com/ 宿主机:安装 Docker 的那台电脑 Docker:一个虚拟化软件,你可以认为是类似:VMware、Virtualbox 镜像:可以认为是类似 Windows 下的:XXXX.iso 容器:容器为镜像的

  • 问题内容: 我有一组分散在多个服务器上的dockerized应用程序,并尝试使用ELK设置生产级别的集中式日志记录。我对ELK部件本身还可以,但是我对如何将日志转发到我的日志感到有些困惑。我正在尝试使用Filebeat,因为它具有负载平衡功能。我还想避免将Filebeat(或其他任何东西)打包到我的所有docker中,并使其分开,是否被dockerized。 我该如何进行? 我一直在尝试以下方法。

  • 我试图建立持续集成(CI)在Bitbucket管道为Android。 我已经使用Android Studio 2.1.1创建了一个样例空白活动。 当运行时,会出现以下错误: 在工作目录中运行会得到:

  • 本文向大家介绍docker-compose的安装和使用详解,包括了docker-compose的安装和使用详解的使用技巧和注意事项,需要的朋友参考一下 Docker Compose 是一个用来定义和运行复杂应用的 Docker 工具。 使用 Docker Compose 不再需要使用 shell 脚本来启动容器。(通过 docker-compose.yml 配置) Docker Compose的安

  • 问题内容: 我正在尝试使用VSCode调试在Docker上运行的PHP应用程序,但没有成功。 过去,我可以使用运行WAMP Server的VSCode轻松调试PHP应用程序,但是由于我开始使用Docker,所以无法调试。在网上搜索了几本教程,在StackOverflow上检查了一些线程,但是我仍然无法正常工作。 Dockerfile: xdebug.ini docker-compose.yml V

  • 我对Bitbucket管道(Beta版)和Docker很陌生,以前没有配置项集成的经验 我遵循了这个问题,但是对于初学者没有明确的描述 我正在尝试使用docker容器为Android项目在Bitbucket管道中设置持续集成(CI) 我遵循的步骤 步骤1.已安装Docker软件工具。已成功安装。 第二步。已成功创建虚拟机 错误出现: Docker-机器详细信息 码头机环境