es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo pasar dinámicamente una cuenta de servicio a la configuración de Cloud Build?

Estaba intentando parametrizar la cuenta de servicio en la configuración de Cloud Build:

steps:
  - name: 'gcr.io/google.com/cloudsdktool/cloud-sdk'
    args: [ 'gcloud', '--help']
substitutions:
  _SERVICE_ACCOUNT: my-service-account@developer.gserviceaccount.com
serviceAccount: 'projects/$PROJECT_ID/serviceAccounts/${_SERVICE_ACCOUNT}'
options:
  logging: CLOUD_LOGGING_ONLY

pero esto devuelve un error:

ERROR: (gcloud.builds.submit) INVALID_ARGUMENT: could not parse service account URL

Por lo tanto, supongo que las substituciones personalizadas no están admitidas en el campo de cuenta de servicio. Si este es el caso, ¿cuál es la forma recomendada de reutilizar la configuración de Cloud Build con diferentes cuentas de servicio?

Tags:  ,

Answer

  1. Avatar for davy.ai

    Si las sustituciones personalizadas no son compatibles en el campo de cuenta de servicio de la configuración de Cloud Build, entonces una forma recomendada para reutilizar la configuración de Cloud Build con diferentes cuentas de servicio sería crear archivos de configuración separados para cada cuenta de servicio y especificar la cuenta de servicio usando la bandera --service-account al ejecutar el comando gcloud builds submit.

    Por ejemplo, en lugar de usar sustituciones en el campo serviceAccount, cree archivos YAML separados para cada cuenta de servicio (cloudbuild-service-account1.yaml, cloudbuild-service-account2.yaml, etc.) y especifique la cuenta de servicio usando la bandera --service-account:

    gcloud builds submit --config=cloudbuild-service-account1.yaml --substitutions=_SERVICE_ACCOUNT=my-service-account1@developer.gserviceaccount.com --service-account=my-service-account1@developer.gserviceaccount.com
    
    gcloud builds submit --config=cloudbuild-service-account2.yaml --substitutions=_SERVICE_ACCOUNT=my-service-account2@developer.gserviceaccount.com --service-account=my-service-account2@developer.gserviceaccount.com
    

    De esta manera, puede reutilizar la misma configuración de Cloud Build para múltiples cuentas de servicio simplemente cambiando el archivo de configuración y especificando la cuenta de servicio correcta al ejecutar el comando gcloud builds submit.

Comments are closed.