I am deploying my application to GCP via bash script. I want to capture any deployment errors in a variable and perform some actions when a deployment error occurs.
My deployment command looks like this:
gcloud app deploy --version $version --project my-app-$environment $micro.yaml --quiet $no_promote &
You can assume that this command is working with the variables I've passed. I've tried the below variations:
var=$(...)
var=$(gcloud app deploy --version $version --project my-app-$environment $micro.yaml --quiet $no_promote &)
echo ******************************
echo "${var}"
echo ******************************var=`...`
var=`gcloud app deploy --version $version --project my-app-$environment $micro.yaml --quiet $no_promote &`
echo ******************************
echo $var
echo ******************************
Other variations from GCP side that I've tried:
--verbosity="warning"
var=$(gcloud app deploy --version $version --project my-app-$environment $micro.yaml --quiet $no_promote --verbosity="warning" &)
--verbosity="error"
var=$(gcloud app deploy --version $version --project my-app-$environment $micro.yaml --quiet $no_promote --verbosity="error" &)
--log-http
var=$(gcloud app deploy --version $version --project my-app-$environment $micro.yaml --quiet $no_promote --log-http &)
--user-output-enabled
var=$(gcloud app deploy --version $version --project my-app-$environment $micro.yaml --quiet $no_promote --user-output-enabled &)
Everything that I've tried so far, $var is always returned empty. Even when there's an error during deployment.
╔════════════════════════════════════════════════════════════╗
╠═ Uploading 0 files to Google Cloud Storage ═╣
╚════════════════════════════════════════════════════════════╝
File upload done.
ERROR: (gcloud.app.deploy) ABORTED: Cannot operate on apps/my-app-qa/services/search/versions/1 because an operation is already in progress for apps/my-app-qa/services/search/versions/1 by 3458c670-76bd-42ec-a971-c0ceda7ef34f.
******************************
******************************
Is there a way to detect a GCP deployment error when the deployment happens through bash script? Seems like I am missing something really basic but can't put my finger to it.