Cette page a été traduite par l'API Cloud Translation.
Switch to English

Intégrer à Cloud Build

Cette page explique comment configurer Cloud Build pour stocker des artefacts créés dans un dépôt Artifact Registry.

Avant de commencer

  1. Si le dépôt cible n'existe pas, créez un dépôt.
  2. Le compte de service Cloud Build par défaut est autorisé à importer et à télécharger des données dans des dépôts faisant partie du même projet. Si Cloud Build se trouve dans un projet différent de celui où se trouvent vos dépôts, vous devez accorder des autorisations au compte de service Cloud Build du projet contenant les dépôts.

Configurer une compilation Docker

Une fois que vous avez accordé les autorisations au dépôt cible, vous êtes prêt à configurer Docker pour l'authentification et le transfert d'un package dans le dépôt. Il est recommandé d'intégrer le compte de service Cloud Build.

Pour configurer Docker, procédez comme suit :

  1. Configurez l'authentification pour Docker.

  2. Dans votre fichier de configuration, ajoutez l'étape permettant de compiler et de transférer les images.

    L'exemple suivant utilise les valeurs suivantes pour une image se trouvant dans le même répertoire que le fichier de configuration de compilation :

    • Emplacement du dépôt us-central1
    • ID de projet de la compilation, résolu avec la substitution par défaut $PROJECT_ID
    • Nom du dépôt : my-repo
    steps:
    - name: 'gcr.io/cloud-builders/docker'
      args: [ 'build', '-t', 'us-central1-docker.pkg.dev/$PROJECT_ID/${_REPOSITORY}/${_IMAGE}', '.' ]
    images:
    - 'us-central1-docker.pkg.dev/$PROJECT_ID/${_REPOSITORY}/${_IMAGE}'
    

    Les variables${_REPOSITORY} et ${_IMAGE} sont utilisés pour le nom du dépôt et pour le nom de l'image dans le dépôt afin qu'ils puissent être remplacés au moment de la compilation à l'aide des substitutions personnalisées de Cloud Build.

    Cette approche est utile si vous souhaitez utiliser le même fichier de configuration de compilation pour transférer des images vers des dépôts pour différents environnements, tels que des environnement de test, de préproduction ou de production.

    Par exemple, cette commande remplace my-repo par le nom du dépôt et my-image par le nom de l'image.

    gcloud builds submit --config=cloudbuild.yaml \
      --substitutions=_REPOSITORY="my-repo",_IMAGE="my-image" .
    

Configurer un build Maven

Une fois que vous avez accordé des autorisations au dépôt cible, vous pouvez configurer Maven pour l'authentification et le transfert d'un package vers le dépôt. Il est recommandé d'intégrer le compte de service Cloud Build.

Pour configurer Maven, procédez comme suit :

  1. Configurez l'authentification pour Maven. Assurez-vous de spécifier le projet cible et le dépôt appropriés dans votre fichier pom.xml.

  2. Dans votre fichier de configuration de compilation Cloud Build, ajoutez l'étape permettant d'importer le package avec Maven :

    steps:
    - name: gcr.io/cloud-builders/mvn
      args: ['deploy']
    

Configurer un build npm

Une fois que vous avez accordé des autorisations au dépôt cible, vous pouvez configurer npm pour vous authentifier et transférer un package vers le dépôt. Il est recommandé d'intégrer le compte de service Cloud Build.

Pour configurer npm, procédez comme suit :

  1. Configurez l'authentification pour npm. Assurez-vous de spécifier le projet cible et le dépôt appropriés dans votre fichier .npmrc.

  2. Placez le fichier .npmrc dans le même répertoire que votre fichier de configuration de compilation Cloud Build afin que Cloud Build puisse trouver vos paramètres d'authentification.

  3. Dans le fichier de configuration de compilation, ajoutez l'étape pour importer le package dans le dépôt.

    steps:
    - name: gcr.io/cloud-builders/npm
      args: ['publish', ${_PACKAGE}]
    

    La variable ${_PACKAGE} représente le package. Vous remplacez cette valeur de substitution Cloud Build au moment de la compilation par l'emplacement du package, du dossier ou d'un package tarball gzip contenant le fichier package.json et les autres fichiers de votre.

    Par exemple, cette commande importe un package dans un répertoire nommé src qui se trouve dans le même répertoire que le fichier .npmrc et le fichier de configuration de compilation.

    gcloud builds submit --config=cloudbuild.yaml --substitutions=_PACKAGE="src" .