@@ -371,11 +371,42 @@ def buildAndPushDockerPythonContainer = tasks.create("buildAndPushDockerPythonCo
371371 name : " ${ project.docker_image_default_repo_prefix} python${ pythonVer} _sdk" ,
372372 root : " apache" ,
373373 tag : project. sdk_version)
374+ doFirst {
375+ def cloudsdkConfig = System . getenv(" CLOUDSDK_CONFIG" )
376+ if (cloudsdkConfig == null || ! new File (cloudsdkConfig). canWrite()) {
377+ def tmpGcloudDir = new File (" /tmp/gcloud" )
378+ tmpGcloudDir. mkdirs()
379+ System . setProperty(" CLOUDSDK_CONFIG" , " /tmp/gcloud" )
380+ exec {
381+ environment " CLOUDSDK_CONFIG" , " /tmp/gcloud"
382+ commandLine " gcloud" , " --quiet" , " auth" , " configure-docker" , " us.gcr.io"
383+ ignoreExitValue = false
384+ }
385+ exec {
386+ environment " CLOUDSDK_CONFIG" , " /tmp/gcloud"
387+ commandLine " gcloud" , " --quiet" , " auth" , " configure-docker" , " gcr.io"
388+ ignoreExitValue = false
389+ }
390+ } else {
391+ exec {
392+ environment " CLOUDSDK_CONFIG" , cloudsdkConfig
393+ commandLine " gcloud" , " --quiet" , " auth" , " configure-docker" , " us.gcr.io"
394+ ignoreExitValue = false
395+ }
396+ exec {
397+ environment " CLOUDSDK_CONFIG" , cloudsdkConfig
398+ commandLine " gcloud" , " --quiet" , " auth" , " configure-docker" , " gcr.io"
399+ ignoreExitValue = false
400+ }
401+ }
402+ }
374403 doLast {
375404 exec {
376405 commandLine " docker" , " tag" , " ${ defaultDockerImageName} " , " ${ dockerPythonImageName} "
377406 }
407+ def cloudsdkConfig = System . getenv(" CLOUDSDK_CONFIG" ) ?: System . getProperty(" CLOUDSDK_CONFIG" ) ?: " /tmp/gcloud"
378408 exec {
409+ environment " CLOUDSDK_CONFIG" , cloudsdkConfig
379410 commandLine " gcloud" , " docker" , " --" , " push" , " ${ dockerPythonImageName} "
380411 }
381412 }
0 commit comments