自动化gcloud组件更新

Dag*_*Dag 10 gcloud

如何在shell脚本中以编程方式更新gcloud组件?

呼叫gcloud components update需要用户输入,例如:

$ gcloud components update

The following components will be installed:
--------------------------------------------
| kubectl (Linux, x86_64) | 1.0.1 | 4.5 MB |
--------------------------------------------

For the latest release notes, please visit:
  https://dl.google.com/dl/cloudsdk/release/RELEASE_NOTES
Do you want to continue (Y/n)? 
Run Code Online (Sandbox Code Playgroud)

我无法找到gcloud强制执行更新的论据.

Zac*_*man 17

你正在寻找 --quiet国旗.

gcloud --help:

 --quiet, -q
    Disable all interactive prompts when running gcloud commands. If input
    is required, defaults will be used, or an error will be raised.
Run Code Online (Sandbox Code Playgroud)

这通常是您需要非交互式上下文的标志.

您还可以将CLOUDSDK_CORE_DISABLE_PROMPTS环境变量设置为非空值:

export CLOUDSDK_CORE_DISABLE_PROMPTS=1
gcloud components update # This works for all gcloud commands
Run Code Online (Sandbox Code Playgroud)

  • 为了使这项工作正常进行,出于某种原因,我必须将 --quiet 标志放在命令的开头。否则我会得到同样的错误。这是有效命令的缩写版本:`gcloud --quiet beta firebase test android run --timeout 30m --use-orchestrator --app app/build/outputs/apk/debug/app-debug.apk --test应用程序/构建/输出/apk/androidTest/debug/app-debug-androidTest.apk`。注意我正在 gitlab CI 中运行。 (2认同)