Gestionar dependencias de compilación

En esta página se explica cómo especificar las dependencias de compilación. Cloud Build te permite gestionar las dependencias del código fuente de forma independiente del proceso de compilación.

En el archivo de configuración de compilación, puedes enumerar uno o varios repositorios de Git para clonar en tu compilación, así como el orden en el que se deben obtener. Si especificas las dependencias de esta forma, se separa la obtención de las dependencias del proceso de compilación.

Si no incluyes ninguna dependencia en el archivo de configuración de compilación, Cloud Build clonará el repositorio de código fuente que contenga el archivo de configuración de compilación (en el caso de las compilaciones activadas) o el repositorio que contenga el código fuente (en el caso de las compilaciones que invoques desde la línea de comandos). Si incluyes dependencias en el archivo de configuración de compilación, Cloud Build no clonará ningún repositorio que no se especifique en el campo dependencies.

Cualquier repositorio de código fuente que especifiques en el campo dependencies debe estar conectado a Cloud Build mediante Developer Connect o ser un repositorio público.

Las dependencias se clonan en el orden en que las especifiques en esta configuración. Además, la obtención de dependencias se produce antes de que se ejecute cualquier lógica especificada por el usuario. Por lo tanto, la obtención de dependencias es de confianza.

Las dependencias se muestran en la pestaña Dependencias de compilación de la página Detalles de compilación.

Antes de empezar

Las instrucciones de esta página presuponen que tienes uno o varios repositorios de Git que son públicos o que están vinculados mediante Developer Connect.

Para obtener los permisos que necesitas para añadir un repositorio de Developer Connect como dependencia, pide a tu administrador que te conceda el rol de gestión de identidades y accesos developerconnect.readTokenAccessor (Developer Connect Read Token Accessor) en tu cuenta de servicio. Para obtener más información sobre cómo conceder roles, consulta el artículo Gestionar el acceso a proyectos, carpetas y organizaciones.

También puedes conseguir los permisos necesarios a través de roles personalizados u otros roles predefinidos.

Especificar dependencias

Para especificar las dependencias, añade una estrofa dependencies al archivo de configuración de compilación. dependencies es una propiedad de nivel superior en la configuración de compilación, pero puedes colocarla en cualquier parte del archivo.

A continuación, se muestra la sintaxis de la sección dependencies:

YAML

 dependencies:
 - gitSource:
     repository:
       url: 'URL'
       developerConnect: 'RESOURCE_PATH'
     revision: 'REVISION'
     recurseSubmodules: 'true|false'
     depth: DEPTH'
     destPath: 'DEST_PATH'

JSON

 {
     "dependencies": {
         "gitSource": {
             "repository": {
                 "url": "URL"
                 "developerConnect": "RESOURCE_PATH"
             },
             "revision": "REVISION",
             "recurseSubmodules": true|false,
             "depth": "DEPTH",
             "destPath": "DEST_PATH",
         },
     },
 }

Debes especificar una URL o una ruta de recurso. Especifica una ruta de recurso si el repositorio que se va a obtener está conectado a Cloud Build mediante Developer Connect.

Sustituye los siguientes valores:

  • URL: opcional. URL HTTPS del repositorio que se va a obtener.
  • RESOURCE_PATH: opcional. La ruta de Google Cloud recurso a un repositorio de Developer Connect. Por ejemplo, projects/my-project/locations/us-central1/connections/my-connection/gitRepositoryLinks/my-repo.

  • REVISION: obligatorio. La versión, el hash de confirmación, la etiqueta o el nombre de la rama que se va a obtener del repositorio.

  • recurseSubmodules: "true|false": indica si se deben obtener submódulos.

  • DEPTH: opcional, profundidad del historial del repositorio que se va a obtener. Si no se especifica, se obtiene la confirmación más reciente.

    • 1: la confirmación más reciente
    • 2: las dos últimas confirmaciones
    • 3: los tres últimos commits
    • -1: todos los commits
  • DEST_PATH: obligatorio. Ruta al directorio en el que se clonará el repositorio. Por ejemplo, my/repo.

    Cuando defines el dest_path, el repositorio se obtiene en /workspace/<dest_path>. El valor de dest_path debe ser una ruta relativa al directorio de trabajo de la compilación.

Especificar un repositorio de Developer Connect como dependencia

Para especificar un repositorio de Developer Connect como dependencia, se deben cumplir los siguientes requisitos:

Siguientes pasos