我有一个在谷歌应用引擎上运行的项目,为了部署它,我有了一个连接到GitHub网络挂钩的GCloud构建。每当我推送到我的主分支时,它就会部署。
尽管最近我遇到了这个错误,而且在我使用它的大部分时间里,它都在发生。只有一段时间成功,我不知道为什么。导致失败的提交与任何Google Cloud配置都无关。错误说明每个失败的构建:
invalid build: invalid image name "gcr.io/sam-api-267023/https://sam-api-267023.appspot.com/:a83bcce15e7329d9925cda40a17a9f588afe478f": could not parse reference: gcr.io/sam-api-267023/https://sam-api-267023.appspot.com/:a83bcce15e7329d9925cda40a17a9f588afe478f
我尝试重新格式化我的.yaml文件以匹配谷歌云的建议,但它不起作用。我已经看到,使用在线yaml验证器,yaml是有效的。
以下是我的cloudbuild.yaml文件的来源:
步骤:
- name: "gcr.io/cloud-builders/docker"
args:
[
"build",
"-t",
"gcr.io/$PROJECT_ID/https://sam-api-267023.appspot.com/:$COMMIT_SHA",
".",
]
- name: "gcr.io/cloud-builders/docker"
args:
[
"push",
"gcr.io/$PROJECT_ID/https://sam-api-267023.appspot.com/:$COMMIT_SHA",
]
- name: "gcr.io/cloud-builders/gcloud"
args:
[
"run",
"deploy",
"https://sam-api-267023.appspot.com/",
"--image",
"gcr.io/$PROJECT_ID/https://sam-api-267023.appspot.com/:$COMMIT_SHA",
"--region",
"us-east4",
"--platform",
"managed",
]
images: ["gcr.io/$PROJECT_ID/https://sam-api-267023.appspot.com/:$COMMIT_SHA"]
您所面临的错误可能有一些原因。例如,它可以是用于定位图像的路径,或者即使您提供了所需的身份验证,也可以是在谷歌一侧正确执行构建的路径。
路径的一个例子是,例如,在某些情况下,需要路径不是gcr.io/$PROJECT_ID/https://sam-api-267023.appspot.com/:$COMMIT_SHA
,而是gcr.io/$PROJECT_ID/sam-api-267023.appspot.com/:$COMMIT_SHA
,没有https://
,因为它是一条路径。
考虑到这一点,我建议你看看下面的文章,在那里你可以找到更多的信息和类似的案例,这可能会帮助你解决你面临的错误。
- 使用来自市场的图像时,谷歌云构建失败
- 无效的基本映像名称"gcr.io/google_appengine/python"#14
- 使用域范围的项目时,云生成中的映像名称无效
除此之外,在不使用https://
的情况下尝试使用gcloud builds submit --tag <path>
命令来构建它可能是值得的。
如果这些信息对你有帮助,请告诉我!