gcpの操作をcliのgcloudコマンドで行いたい場合、Linuxのシェルから実行すると成功するのに、cronで自動実行させると失敗する場合があります。
例えば、cronのスクリプトからgcloudを実行で下記のエラーが発生する場合ですが...
ERROR: (gcloud.source.repos.create) You do not currently have an active account selected.
Please run:
$ gcloud auth login
to obtain new credentials, or if you have already logged in with a
different account:
$ gcloud config set account ACCOUNT
to select an already authenticated account to use.
この場合、gcpへアクセスするための認証情報のパス指定が誤っている場合があります。確認はcronで実行するスクリプト内に下記の1行を入れておけばよいです。
> gcloud info | grep "User Config Directory" > /tmp/gcloud_config.txt
> cat /tmp/gcloud_config.txt
User Config Directory: [/.config/gcloud]
Configのパスは、CLOUDSDK_CONFIG環境変数で指定できるため、下記のように設定を追加すればよいです。
# gcloudコマンのconfigディレクトリを指定
CLOUDSDK_CONFIG=/root/.config/gcloud
こちらもおススメ