gcloud deployで対話入力を省略(自動的にyes)としたい時

GCP

gcloudコマンドで対話入力を省略(自動的にyes)としたい

gcloud deploygcloudのコマンドを使用している時に、yes/noを対話式で求められる時がありますよね!

毎回聞かれるのは面倒だし、一つにまとめてコマンド化している時などは、いちいち対話式で聞かれると困ります。

今回は、gcloud系のコマンドを使用する際に対話入力を省略(自動的にyes)にする方法を備忘録として残しておきます。

対話入力を省略(自動的にyes)とする方法

結論から言うと、–quietオプションを使用することで対話式を省略することができます。

  • gcloud –quiet

のような感じです。

–quietの代わりに-qでも対話式を省略することができます。

コマンドヘルプ実際の使用例なども確認してみましょう!

コマンドヘルプを確認する

コマンドヘルプは、gcloud –helpで実行することができます。

–quiet, -qのブロックを確認してみます。

$ 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.
        Overrides the default core/disable_prompts property value for this
        command invocation. Must be used at the beginning of commands. This is
        equivalent to setting the environment variable
        CLOUDSDK_CORE_DISABLE_PROMPTS to 1.

日本語訳してみました。

もしかしたら間違ってるところあるかも(その時は教えてください。)

gcloudコマンドの実行時にすべての対話型プロンプトを無効にします。
もし入力が必要な場合は、デフォルトが使用されるか、エラーが発生します。
このコマンド呼び出しで、デフォルトのcore/disable_promptsプロパティ値をオーバーライドします。
コマンドの先頭で使用してください。
これは環境変数CLOUDSDK_CORE_DISABLE_PROMPTSを1にするのと同等の設定です。

どうやらオプションをつけてもいけますが、環境変数でも制御できるみたいなので便利ですね!

CodeBuildやCloudBuildなどの専用環境でビルドしてデプロイする時は、オプションよりも環境変数の方が良さそうです。

実際の使用方法を確認する

実際の使用例を確認してみましょう!

今回はGAEでデプロイした際に使用していたコマンドを貼っておきます。

gcloud app deploy app.yaml --quiet --project my-gae-project-sample

まとめ

今回はgcloudのコマンドで対話入力を省略する方法を確認しました!

結構地味なことですが、gcloudコマンドはGCPを使うなら頻繁に使うと思いますので、覚えておきましょう!

コメント