android - 在Google Cloud Build上本地找不到图像 'gcr.io/fullstackgcp/gradle:latest'

标签 android docker gradle google-cloud-platform google-cloud-build

我正在按照https://cloud.google.com/community/tutorials/building-android-apk-with-cloud-build-gradle-docker-image通过Cloud build构建Android APK

Already have image (with digest): gcr.io/cloud-builders/docker
Unable to find image 'gcr.io/fullstackgcp/gradle:latest' locally
/usr/bin/docker: Error response from daemon: pull access denied for gcr.io/fullstackgcp/gradle, repository does not exist or may require 'docker login'.
See '/usr/bin/docker run --help'.

有人也经历过吗?

最佳答案

我也有这个错误。深入研究我发现您首先需要准备一个Docker镜像,该镜像将构建您的Android应用并将该镜像上传到Google Cloud Registry。为此,我使用了:Cloud Builders Community:

  • check out 他们的存储库
  • 转到cloud-builders-community/android/
  • 触发CloudBuild为您构建和上传docker(指定所需的Android SDK版本):
  • gcloud builds submit --config=cloudbuild.yaml --substitutions=_ANDROID_VERSION=28
    此时,您应该能够在本教程提供的cloudbuild定义中使用gcr.io/$PROJECT_ID/android:28而不是gcr.io/fullstackgcp/gradle

    但是我决定不冒险并遇到下一个错误,因此我使用了this one(再次由Cloud Builders Community提供)。他们确实有一个步骤来缓存gradle构建,因此您还需要一个tar docker:
  • 转到cloud-builders-community/tar/并运行:
  • gcloud builds submit --config=cloudbuild.yaml
    完成所有这些操作后,您可以通过在app文件夹中运行以下命令来构建您的应用程序:
    gcloud builds submit --config=cloudbuild.yaml --substitutions=_ARTIFACT_BUCKET=<your_bucket>,_CACHE_BUCKET=<your_bucket>
    您已经在本教程中创建的触发器也将起作用。您只需要添加上面的两个变量:_ARTIFACT_BUCKET_CACHE_BUCKET

    关于android - 在Google Cloud Build上本地找不到图像 'gcr.io/fullstackgcp/gradle:latest',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59815230/

    相关文章:

    android - 无法集成具有自定义样式的android库

    docker - 为什么我的 RUN 对构建的 docker 镜像没有影响?

    android - 无法解决 : com. afollestad :material-dialogs:0. 7.4.1?

    java - 从编译中排除jar

    grails - 如何正确使用Grails插件

    android - 关于 SharedPreference 的查询

    java - 如果推送通知包含特定元素,则隐藏它

    android - 选中 "is Library"复选框有什么作用 "Under the Cover"?

    docker - 无法连接到主机VM上的SQL Server Express容器

    docker - 为什么docker compose启动后就退出了?