Gcloud - 如何在服务器上自动安装gcloud?

时间:2015-11-11 19:52:33

标签: linux installation automation gcloud

我想编写一个shell脚本,它基本上完成了gcloud的所有安装步骤,如下所述:https://cloud.google.com/sdk/?hl=en

但是,当您运行install.sh时,系统会要求您输入授权码,项目ID,是否要帮助改进Google Cloud等等。基本上需要用户输入。

但是,如果我想在没有任何用户的机器上自动执行安装过程,我该怎么做?

3 个答案:

答案 0 :(得分:9)

这里有两个不同的问题。

首先,如何在没有提示的情况下安装:

  1. 下载google cloud sdk tar文件。这可以在https://cloud.google.com/sdk/
  2. 上的curl命令下找到
  3. 解压并进入新创建的目录。
  4. 运行CLOUDSDK_CORE_DISABLE_PROMPTS=1 ./install.sh(或install.bat)
  5. 这会禁用所有提示。如果您不喜欢它回答提示的方式,您可以使用标记预先回答它们。如果您提前解决所有问题,则不需要设置CLOUDSDK_CORE_DISABLE_PROMPTS环境变量。运行./install.sh --help获取标志列表。

    现在你已经安装了它,你如何认证呢?

    如果您使用的是GCE,则可以自动使用机器本身的凭据。如果没有,则需要进行一些设置。

    由于这些是自动安装,因此您需要为它们提供服务器密钥。如果涉及到人类,他可以继续正常流程。

    密钥可以从开发者控制台下载" API& auth - >凭证&#34 ;.点击"新凭据 - >服务帐户密钥"。 Google建议您使用JSON密钥。

    当您拥有该密钥时,需要将其移至新服务器并运行:

    gcloud auth activate-service-account --key-file servicekey.json
    gcloud config set project MYPROJECT
    

答案 1 :(得分:1)

这一系列命令应该有所帮助:

file="google-cloud-sdk-101.0.0-linux-x86_64.tar.gz"
link="https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/"

curl -L "$link""$file" | tar xz 
CLOUDSDK_CORE_DISABLE_PROMPTS=1 ./google-cloud-sdk/install.sh

答案 2 :(得分:0)

按照docs,似乎有一种更好/更优雅的方法:

curl https://sdk.cloud.google.com > install.sh
bash install.sh --disable-prompts