Skip to content

Instantly share code, notes, and snippets.

@marcosborges
Created March 31, 2019 01:34
Show Gist options
  • Save marcosborges/db6d769be7a18c52896cca9702c537b4 to your computer and use it in GitHub Desktop.
Save marcosborges/db6d769be7a18c52896cca9702c537b4 to your computer and use it in GitHub Desktop.
node {
println "OBTENDO SERVICE ACCOUNTS DO PROJETO GCLOUD"
withCredentials ([
file (credentialsId: 'GCLOUD_SA', variable: "GCLOUD_SA")
]) {
println "OBTENDO TEMPLATE PARA BUILD DO CONTAINER"
configFileProvider([
configFile(fileId: 'dockerfile-gcloudsdk', variable: 'GCLOUD_SDK_DOCKERFILE')
]) {
println "REALIZANDO BUILD DO GCLOUD_SDK_DOCKERFILE GCLOUD_SDK_DOCKERFILE"
sh "cp ${env.GCLOUD_SDK_DOCKERFILE} gCloudSDK.Dockerfile"
def gcloudSDK = docker.build("gcloud-sdk-kubectl", "-f gCloudSDK.Dockerfile .")
println "RODANDO CONTAINER GCLOUD_SDK"
gcloudSDK.inside(""" -e "CLOUDSDK_CONFIG=/tmp/mygcloud" -e "KUBECONFIG=/tmp/mykubectl" """) {
def data = readJSON file: "${env.GCLOUD_SA}";
try{ sh """ gcloud version """ } catch(e) { println e.getMessage() }
try{ sh """ kubectl version """ } catch(e) { println e.getMessage() }
try{ sh """ gcloud auth activate-service-account "${data['client_email']}" --key-file="${env.GCLOUD_SA}" --project="${data['project_id']}" """; } catch(e) { println e.getMessage() }
try{ sh """ gcloud config set project ${data['project_id']} """; } catch(e) { println e.getMessage() }
try{ sh """ gcloud info """; } catch(e) { println e.getMessage() }
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment