【发布时间】:2020-11-06 00:18:48
【问题描述】:
将 web 应用程序部署到 Cloud Run 时,我有两种不同的结果。在本地,它按预期工作。当通过 .yaml 构建文件在 Bitbucket 管道中运行构建时,它会失败。虽然命令是一样的。
这是我当地的尝试所说的:
gcloud run deploy importer-controlroom-frontend-dev --image=eu.gcr.io/myApp-cluster/importer-controlroom-frontend@sha256:976b7940b3ff62b495a946a0063de0d15d9dd1be2dbb4deab33eed94ff54d7a7 --cpu=100m --memory=64Mi --platform=gke --port=80 --timeout=10 --concurrency=1 --cluster=myApp-cluster-dev --cluster-location=europe-west3-a --connectivity=internal --namespace=dev
Deploying container to Cloud Run for Anthos service [importer-controlroom-frontend-dev] in namespace [dev] of cluster [myApp-cluster-dev]
Deploying new service...
Creating Revision...
在 Bitbucket 中是这样的:
+ gcloud run deploy importer-controlroom-frontend-$DEPLOYMENT_ENV --image=eu.gcr.io/myApp-cluster/importer-controlroom-frontend:$BITBUCKET_COMMIT --cpu=100m --memory=64Mi --platform=gke --port=80 --timeout=10 --concurrency=1 --cluster=$GCLOUD_CLUSTER --cluster-location=$GCLOUD_ZONE --connectivity=internal --namespace=$DEPLOYMENT_ENV
ERROR: (gcloud.run.deploy) unrecognized arguments: europe-west3-a
To search the help text of gcloud commands, run:
gcloud help -- SEARCH_TERMS
使用的版本
Google Cloud SDK 300.0.0 (Bitbucket - there was no higher image tag on Dockerhub)
Google Cloud SDK 301.0.0 (Lokal)
我有点迷茫,因为错误消息unrecognized arguments: europe-west3-a 不是很有帮助,而且没有意义恕我直言。
【问题讨论】:
-
你可以尝试删除集群区域参数
--cluster-location $GCLOUD_ZONE中的等号=吗?让我知道它是否更好 -
您能否尝试打印将要运行的整个命令,以确保您的环境变量设置正确?例如。
echo gcloud run deploy importer-controlroom-frontend-$DEPLOYMENT_ENV ... -
从您以
+开头的输出来看,很明显--cluster-location=europe-west3-a没有进入在bitbucket 上执行的命令。所以相反,它被认为是一个位置参数。我的猜测是因为未定义 bash 变量之一。 -
@guillaumeblaquiere 它可以在没有
=的情况下工作,谢谢!对此有何解释?请添加为答案 -
一个愚蠢的、常见的 bash 错误!当您为此失去3天时,您将终生记住它! :) :) :)
标签: google-cloud-platform gcloud google-cloud-run