如何使用 gcloud 运行 创建修订 URL?
How to create Revision URL using gcloud run?
我最近注意到 Google 云 运行 网络 UI 中的测试版功能,允许您创建修订 URL(标签)。超级方便的功能!
我的问题:如何为修订创建标签以便我可以使用 gcloud
执行此操作?我还没有在文档中看到它的任何内容(可能是因为它是一个如此新鲜的功能)。
修订 URL 也被命名为“TAG”。使用更新命令标记最新版本。
gcloud beta run services update --tag=test --platform=managed --region=us-central1 go111
2022 年 4 月更新:
您可以使用 "gcloud" 为一个或多个修订版添加一个或多个标签。有两种方法可以做到。一种是创建修订时,一种是用于现有修订。
<创建修订时>
现在,只有一个修订版“editor-v1-0-0”带有标签“blue”,如下所示:
然后,要在创建修订版时添加标签,使用下面的标志:
--tag <tag>
现在,我将标签“绿色” 添加到修订版中:
--tag green
然后,包括上面的标志,我 运行 参考 Shipping the public editor service in Securing Cloud Run services tutorial 的完整命令如下所示,以创建带有 "editor:2.0.0" image:
*创建修订时,只能添加一个标签。
gcloud run deploy editor --image gcr.io/myproject-318173/editor:2.0.0 \
--service-account editor-identity \
--set-env-vars EDITOR_UPSTREAM_RENDER_URL=https://renderer-4bdlubpdxq-an.a.run.app \
--allow-unauthenticated \
--revision-suffix v2-0-0 \
--no-traffic \
--tag green // Here
现在,带有标签“green”的修订版“editor-v2-0-0”创建如下:
<对于现有修订>
有两个命令 "gcloud 运行 services update" 和 "gcloud 运行 services update-traffic"。 =273=] 添加一个或多个标签。实际上,"gcloud 运行 services update-traffic" 可以做更多关于 Tag:
的事情
<"gcloud run services update">
首先,我将向您展示如何使用 "gcloud 运行 服务更新" 和 " 添加一个或多个标签gcloud 运行 services update,您可以在一条命令中仅添加一个标签到最新版本。
现在,最新版本“editor-v2-0-0” 无标签:
然后,运行带有标签“green”的命令,如下所示:
gcloud run services update editor --tag green
现在,标签“green”被添加到最新版本“editor-v2-0-0”,如下所示:
然后,如果您 运行 下面带有 标签“orange” 的命令:
gcloud run services update editor --tag orange
现在,标签“orange”被添加到最新版本“editor-v2-0-0”而不更新"green" to "orange" 如下图:
此外,如果将已用于其他修订的标签添加到修订中,则该标签将从其他修订中删除,然后添加到修订中。
因此,如果 运行使用 标签“blue” 命令,如下所示,标签“blue” 从 修订版“editor-v1-0-0” 中删除,然后添加到 修订版“editor-v2-0-0”:
gcloud run services update editor --tag blue
<"gcloud run services update-traffic">
接下来,我将向您展示如何使用 "gcloud 运行 服务 update-traffic".
添加一个或多个标签
现在,有两个修订版本“editor-v2-0-0”,没有标签和” editor-v1-0-0" 带有 标签“blue”:
那么,下面的这个flag可以给一个或多个revisions添加一个或多个tag但是下面的这个flag不能更新一个或多个的一个或多个tag revisions 即使标志名称是 "--update-tags" 所以下面的这个标志 可以只添加一个或多个标签到一个或更多修订:
--update-tags <tag>=<revision>,…
现在,我将标签“green”添加到修订版“editor-v2-0-0”:
--update-tags green=editor-v2-0-0
然后,包括上面的标志,我 运行 完整的命令如下所示:
gcloud run services update-traffic editor --update-tags green=editor-v2-0-0
现在,标签“green”被添加到修订版“editor-v2-0-0”,如下所示:
并且,下面的这个命令可以添加两个标签“orange”和“yellow”到版本“editor-v2-0-0” 和 一个标签“black” 到 修订版“editor-v1-0-0”:
gcloud run services update-traffic editor --update-tags \
orange=editor-v2-0-0,yellow=editor-v2-0-0,black=editor-v1-0-0
现在,两个标签“orange”和“yellow”被添加到修订版“editor-v2-0-0” 一个标签“black”被添加到修订版“editor-v1-0-0”,如下所示:
*注意,如果值列表中的逗号前后有一个或多个空字符串,则会出错。
因此,如果空字符串位于逗号之前:
gcloud run services update-traffic editor --update-tags \
orange=editor-v2-0-0 ,yellow=editor-v2-0-0,black=editor-v1-0-0
// An empty string before a comma
然后,出现错误:
ERROR: (gcloud.run.services.update-traffic) unrecognized arguments: ,yellow=editor-v2-0-0,black=editor-v1-0-0
如果逗号后面是空字符串:
gcloud run services update-traffic editor --update-tags \
orange=editor-v2-0-0, yellow=editor-v2-0-0,black=editor-v1-0-0
// An empty string after a comma
然后,出现错误:
ERROR: (gcloud.run.services.update-traffic) unrecognized arguments: yellow=editor-v2-0-0,black=editor-v1-0-0
因此,不要在值列表中的逗号前后放置 一个或多个空字符串:
gcloud run services update-traffic editor --update-tags \
orange=editor-v2-0-0,yellow=editor-v2-0-0,black=editor-v1-0-0
// No empty strings
// before or after a comma
接下来,下面的这个标志可以更新一个或多个版本的一个或多个标签:
--set-tags <tag>=<revision>,…
现在,有两个修订版“editor-v2-0-0”,三个标签“绿色”、“橙色”和“黄色” =273=] 和 "editor-v1-0-0" 带有 两个标签“blue”和“black”:
然后,我将更新修订版“editor-v2-0-0”的三个标签“绿色”、“橙色”和“黄色” " 到 两个标签“金色”和“银色” 和 两个标签“蓝色”和“黑色” of 修订“editor-v1-0-0”到一个标签“white”:
--set-tags gold=editor-v2-0-0,silver=editor-v2-0-0,white=editor-v1-0-0
然后,包括上面的标志,我 运行 完整的命令如下所示:
gcloud run services update-traffic editor --set-tags \
gold=editor-v2-0-0,silver=editor-v2-0-0,white=editor-v1-0-0
现在,版本“editor-v2-0-0”[=273]的三个标签“绿色”、“橙色”和“黄色” =]更新为两个标签“金色”和“银色”和两个标签“蓝色”和“黑色” 修订版“editor-v1-0-0”更新为一个标签“white”,如下所示:
然后,下面的这个标志可以从一个或多个修订中删除一个或多个标签:
--remove-tags <tag>,…
现在,有两个修订版“editor-v2-0-0”,三个标签“绿色”、“橙色”和“黄色” =273=] 和 "editor-v1-0-0" 带有 两个标签“blue”和“black”:
然后,我将从修订版“editor-v2-0-0”[=273]中删除两个标签“绿色”和“黄色” =] 和 一个标签“blue” 来自 修订版“editor-v1-0-0”:
--remove-tags green,yellow,blue
然后,包括上面的标志,我 运行 完整的命令如下所示:
gcloud run services update-traffic editor --remove-tags green,yellow,blue
现在,从修订版“editor-v2-0-0”中删除了“绿色”和“黄色”两个标签 一个标签“blue” 已从 修订版“editor-v1-0-0” 中删除,如下所示:
然后,下方的这个标志可以从所有修订中删除所有标签:
--clear-tags
现在,有两个修订版“editor-v2-0-0”,三个标签“绿色”、“橙色”和“黄色” =273=] 和 "editor-v1-0-0" 带有 两个标签“blue”和“black”:
然后,包括上面的标志,我 运行 如下所示的完整命令从 所有修订 [=] 中删除 所有标签 273=]:
gcloud run services update-traffic editor --clear-tags
现在,所有标签都从所有修订中删除,如下所示:
我最近注意到 Google 云 运行 网络 UI 中的测试版功能,允许您创建修订 URL(标签)。超级方便的功能!
我的问题:如何为修订创建标签以便我可以使用 gcloud
执行此操作?我还没有在文档中看到它的任何内容(可能是因为它是一个如此新鲜的功能)。
修订 URL 也被命名为“TAG”。使用更新命令标记最新版本。
gcloud beta run services update --tag=test --platform=managed --region=us-central1 go111
2022 年 4 月更新:
您可以使用 "gcloud" 为一个或多个修订版添加一个或多个标签。有两种方法可以做到。一种是创建修订时,一种是用于现有修订。
<创建修订时>
现在,只有一个修订版“editor-v1-0-0”带有标签“blue”,如下所示:
然后,要在创建修订版时添加标签,使用下面的标志:
--tag <tag>
现在,我将标签“绿色” 添加到修订版中:
--tag green
然后,包括上面的标志,我 运行 参考 Shipping the public editor service in Securing Cloud Run services tutorial 的完整命令如下所示,以创建带有 "editor:2.0.0" image:
*创建修订时,只能添加一个标签。
gcloud run deploy editor --image gcr.io/myproject-318173/editor:2.0.0 \
--service-account editor-identity \
--set-env-vars EDITOR_UPSTREAM_RENDER_URL=https://renderer-4bdlubpdxq-an.a.run.app \
--allow-unauthenticated \
--revision-suffix v2-0-0 \
--no-traffic \
--tag green // Here
现在,带有标签“green”的修订版“editor-v2-0-0”创建如下:
<对于现有修订>
有两个命令 "gcloud 运行 services update" 和 "gcloud 运行 services update-traffic"。 =273=] 添加一个或多个标签。实际上,"gcloud 运行 services update-traffic" 可以做更多关于 Tag:
的事情<"gcloud run services update">
首先,我将向您展示如何使用 "gcloud 运行 服务更新" 和 " 添加一个或多个标签gcloud 运行 services update,您可以在一条命令中仅添加一个标签到最新版本。
现在,最新版本“editor-v2-0-0” 无标签:
然后,运行带有标签“green”的命令,如下所示:
gcloud run services update editor --tag green
现在,标签“green”被添加到最新版本“editor-v2-0-0”,如下所示:
然后,如果您 运行 下面带有 标签“orange” 的命令:
gcloud run services update editor --tag orange
现在,标签“orange”被添加到最新版本“editor-v2-0-0”而不更新"green" to "orange" 如下图:
此外,如果将已用于其他修订的标签添加到修订中,则该标签将从其他修订中删除,然后添加到修订中。
因此,如果 运行使用 标签“blue” 命令,如下所示,标签“blue” 从 修订版“editor-v1-0-0” 中删除,然后添加到 修订版“editor-v2-0-0”:
gcloud run services update editor --tag blue
<"gcloud run services update-traffic">
接下来,我将向您展示如何使用 "gcloud 运行 服务 update-traffic".
添加一个或多个标签现在,有两个修订版本“editor-v2-0-0”,没有标签和” editor-v1-0-0" 带有 标签“blue”:
那么,下面的这个flag可以给一个或多个revisions添加一个或多个tag但是下面的这个flag不能更新一个或多个的一个或多个tag revisions 即使标志名称是 "--update-tags" 所以下面的这个标志 可以只添加一个或多个标签到一个或更多修订:
--update-tags <tag>=<revision>,…
现在,我将标签“green”添加到修订版“editor-v2-0-0”:
--update-tags green=editor-v2-0-0
然后,包括上面的标志,我 运行 完整的命令如下所示:
gcloud run services update-traffic editor --update-tags green=editor-v2-0-0
现在,标签“green”被添加到修订版“editor-v2-0-0”,如下所示:
并且,下面的这个命令可以添加两个标签“orange”和“yellow”到版本“editor-v2-0-0” 和 一个标签“black” 到 修订版“editor-v1-0-0”:
gcloud run services update-traffic editor --update-tags \
orange=editor-v2-0-0,yellow=editor-v2-0-0,black=editor-v1-0-0
现在,两个标签“orange”和“yellow”被添加到修订版“editor-v2-0-0” 一个标签“black”被添加到修订版“editor-v1-0-0”,如下所示:
*注意,如果值列表中的逗号前后有一个或多个空字符串,则会出错。
因此,如果空字符串位于逗号之前:
gcloud run services update-traffic editor --update-tags \
orange=editor-v2-0-0 ,yellow=editor-v2-0-0,black=editor-v1-0-0
// An empty string before a comma
然后,出现错误:
ERROR: (gcloud.run.services.update-traffic) unrecognized arguments: ,yellow=editor-v2-0-0,black=editor-v1-0-0
如果逗号后面是空字符串:
gcloud run services update-traffic editor --update-tags \
orange=editor-v2-0-0, yellow=editor-v2-0-0,black=editor-v1-0-0
// An empty string after a comma
然后,出现错误:
ERROR: (gcloud.run.services.update-traffic) unrecognized arguments: yellow=editor-v2-0-0,black=editor-v1-0-0
因此,不要在值列表中的逗号前后放置 一个或多个空字符串:
gcloud run services update-traffic editor --update-tags \
orange=editor-v2-0-0,yellow=editor-v2-0-0,black=editor-v1-0-0
// No empty strings
// before or after a comma
接下来,下面的这个标志可以更新一个或多个版本的一个或多个标签:
--set-tags <tag>=<revision>,…
现在,有两个修订版“editor-v2-0-0”,三个标签“绿色”、“橙色”和“黄色” =273=] 和 "editor-v1-0-0" 带有 两个标签“blue”和“black”:
然后,我将更新修订版“editor-v2-0-0”的三个标签“绿色”、“橙色”和“黄色” " 到 两个标签“金色”和“银色” 和 两个标签“蓝色”和“黑色” of 修订“editor-v1-0-0”到一个标签“white”:
--set-tags gold=editor-v2-0-0,silver=editor-v2-0-0,white=editor-v1-0-0
然后,包括上面的标志,我 运行 完整的命令如下所示:
gcloud run services update-traffic editor --set-tags \
gold=editor-v2-0-0,silver=editor-v2-0-0,white=editor-v1-0-0
现在,版本“editor-v2-0-0”[=273]的三个标签“绿色”、“橙色”和“黄色” =]更新为两个标签“金色”和“银色”和两个标签“蓝色”和“黑色” 修订版“editor-v1-0-0”更新为一个标签“white”,如下所示:
然后,下面的这个标志可以从一个或多个修订中删除一个或多个标签:
--remove-tags <tag>,…
现在,有两个修订版“editor-v2-0-0”,三个标签“绿色”、“橙色”和“黄色” =273=] 和 "editor-v1-0-0" 带有 两个标签“blue”和“black”:
然后,我将从修订版“editor-v2-0-0”[=273]中删除两个标签“绿色”和“黄色” =] 和 一个标签“blue” 来自 修订版“editor-v1-0-0”:
--remove-tags green,yellow,blue
然后,包括上面的标志,我 运行 完整的命令如下所示:
gcloud run services update-traffic editor --remove-tags green,yellow,blue
现在,从修订版“editor-v2-0-0”中删除了“绿色”和“黄色”两个标签 一个标签“blue” 已从 修订版“editor-v1-0-0” 中删除,如下所示:
然后,下方的这个标志可以从所有修订中删除所有标签:
--clear-tags
现在,有两个修订版“editor-v2-0-0”,三个标签“绿色”、“橙色”和“黄色” =273=] 和 "editor-v1-0-0" 带有 两个标签“blue”和“black”:
然后,包括上面的标志,我 运行 如下所示的完整命令从 所有修订 [=] 中删除 所有标签 273=]:
gcloud run services update-traffic editor --clear-tags
现在,所有标签都从所有修订中删除,如下所示: