Administra las dependencias de compilación

En esta página, se explica cómo puedes especificar dependencias de compilación. Cloud Build te permite administrar las dependencias de código fuente por separado del proceso de compilación.

En el archivo de configuración de compilación, puedes enumerar uno o más repositorios de Git para clonarlos en tu compilación y el orden en el que recuperarlos. Especificar dependencias de esta manera separa la recuperación de dependencias del proceso de compilación en sí.

Si no incluyes ninguna dependencia en tu archivo de configuración de compilación, Cloud Build clona el repositorio de código fuente que contiene tu archivo de configuración de compilación (para compilaciones activadas) o el repositorio que contiene tu código fuente (para compilaciones que invocas desde la línea de comandos). Si lo haces, Cloud Build no clona 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 con Developer Connect o ser un repositorio público.

Las dependencias se clonan en el orden en que las especificas en esta configuración. Además, la recuperación de dependencias se produce antes de que se ejecute cualquier lógica especificada por el usuario. Por lo tanto, se confía en la recuperación de dependencias.

Antes de comenzar

En las instrucciones de esta página, se da por sentado que tienes uno o más repositorios de GitHub que son públicos o están vinculados a través de Developer Connect.

Roles obligatorios

Si alguno de los repositorios que agregas como dependencia es un repositorio de Developer Connect, tu cuenta de servicio necesita el rol de Acceso a tokens de lectura de Developer Connect:

Esto se suma a cualquier otro rol de Cloud Build que necesites.

Especificar dependencias

Para especificar dependencias, agrega una estrofa dependencies a tu 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.

La siguiente es la sintaxis de la estrofa 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",
         },
     },
 }

Reemplaza los siguientes valores:

  • URL: Opcional La URL HTTPS del repositorio que se recuperará Debes especificar una URL o una ruta de acceso a un recurso de Developer Connect.

  • RESOURCE_PATH: Opcional La Google Cloud ruta de acceso al recurso de ese repositorio de Developer Connect Por ejemplo, projects/my-project/locations/us-central1/connections/my-connection/gitRepositoryLinks/my-repo. Debes especificar una URL o una ruta de acceso de recursos de Developer Connect. Especifica este campo si el repositorio que se recuperará está conectado a Cloud Build a través de Developer Connect.

  • REVISION: Obligatorio. Es la versión, el hash de confirmación, la etiqueta o el nombre de la rama que se recuperará del repositorio.

  • recurseSubmodules: "true|false": Indica si se deben recuperar los submódulos.

  • DEPTH: Opcional. Indica qué tan profundo en el historial del repositorio se debe recuperar. Si no se especifica, se recupera la confirmación más reciente.

    • 1: Es la confirmación más reciente.
    • 2: Los últimos dos commits
    • 3: Los últimos tres commits
    • -1: todos los confirmaciones
  • DEST_PATH: Obligatorio. Es la ruta de acceso al directorio en el que se clonará el repositorio. Por ejemplo, my/repo

    Cuando configures dest_path, el repositorio se recuperará en /workspace/<dest_path>. El valor de dest_path debe ser una ruta de acceso relativa, y se relaciona con el directorio de trabajo de la compilación.

Especifica un repositorio de Developer Connect como dependencia

  • Si especificas un repositorio de Developer Connect como dependencia, debes otorgar el rol Developer Connect Read Token Accessor a la cuenta de servicio de Cloud Build. Para obtener más información, consulta Otorga acceso a Cloud Build a un repositorio de Developer Connect.

  • La compilación debe estar en la misma región que la conexión de Developer Connect.

¿Qué sigue?