Instructions et exigences de configuration de l'atelier
Protégez votre compte et votre progression. Utilisez toujours une fenêtre de navigation privée et les identifiants de l'atelier pour exécuter cet atelier.

Sécuriser les compilations de conteneurs

Atelier 10 minutes universal_currency_alt 5 crédits show_chart Intermédiaire
info Cet atelier peut intégrer des outils d'IA pour vous accompagner dans votre apprentissage.
Ce contenu n'est pas encore optimisé pour les appareils mobiles.
Pour une expérience optimale, veuillez accéder à notre site sur un ordinateur de bureau en utilisant un lien envoyé par e-mail.

GSP1185

Google Cloud – Ateliers adaptés au rythme de chacun

Présentation

Artifact Registry vous permet de stocker différents types d'artefacts, de créer plusieurs dépôts dans un seul projet, et d'associer une région ou un emplacement multirégional spécifique à chaque dépôt. Il existe plusieurs modes de dépôt. Chaque mode a une utilité différente. Le schéma suivant montre l'une des nombreuses façons d'utiliser des dépôts dans différents modes ensemble. Le diagramme montre un workflow dans deux projets Google Cloud. Dans un projet de développement, les développeurs créent une application Java. Dans un projet d'exécution distinct, une autre compilation crée une image de conteneur avec l'application à déployer sur Google Kubernetes Engine.

diagramme des modes

Dans cet atelier, vous allez apprendre à effectuer les tâches suivantes :

  • Utiliser des dépôts standards pour déployer vos packages privés
  • Utiliser des dépôts distants pour mettre en cache les packages Maven Central
  • Utiliser des dépôts virtuels pour combiner plusieurs dépôts en amont dans une même configuration

Prérequis

Avant de cliquer sur le bouton "Démarrer l'atelier"

Lisez ces instructions. Les ateliers sont minutés, et vous ne pouvez pas les mettre en pause. Le minuteur, qui démarre lorsque vous cliquez sur Démarrer l'atelier, indique combien de temps les ressources Google Cloud resteront accessibles.

Cet atelier pratique vous permet de suivre vous-même les activités dans un véritable environnement cloud, et non dans un environnement de simulation ou de démonstration. Nous vous fournissons des identifiants temporaires pour vous connecter à Google Cloud le temps de l'atelier.

Pour réaliser cet atelier :

  • Vous devez avoir accès à un navigateur Internet standard (nous vous recommandons d'utiliser Chrome).
Remarque : Ouvrez une fenêtre de navigateur en mode navigation privée pour effectuer cet atelier. Vous éviterez ainsi les conflits entre votre compte personnel et le compte temporaire de participant, qui pourraient entraîner des frais supplémentaires facturés sur votre compte personnel.
  • Vous disposez d'un temps limité. N'oubliez pas qu'une fois l'atelier commencé, vous ne pouvez pas le mettre en pause.
Remarque : Si vous possédez déjà votre propre compte ou projet Google Cloud, veillez à ne pas l'utiliser pour réaliser cet atelier afin d'éviter que des frais supplémentaires ne vous soient facturés.

Démarrer l'atelier et se connecter à la console Google Cloud

  1. Cliquez sur le bouton Démarrer l'atelier. Si l'atelier est payant, un pop-up s'affiche pour vous permettre de sélectionner un mode de paiement. Sur la gauche, vous trouverez le panneau Détails concernant l'atelier, qui contient les éléments suivants :

    • Le bouton Ouvrir la console Google Cloud
    • Le temps restant
    • Les identifiants temporaires que vous devez utiliser pour cet atelier
    • Des informations complémentaires vous permettant d'effectuer l'atelier
  2. Cliquez sur Ouvrir la console Google Cloud (ou effectuez un clic droit et sélectionnez Ouvrir le lien dans la fenêtre de navigation privée si vous utilisez le navigateur Chrome).

    L'atelier lance les ressources, puis ouvre la page Se connecter dans un nouvel onglet.

    Conseil : Réorganisez les onglets dans des fenêtres distinctes, placées côte à côte.

    Remarque : Si la boîte de dialogue Sélectionner un compte s'affiche, cliquez sur Utiliser un autre compte.
  3. Si nécessaire, copiez le nom d'utilisateur ci-dessous et collez-le dans la boîte de dialogue Se connecter.

    {{{user_0.username | "Username"}}}

    Vous trouverez également le nom d'utilisateur dans le panneau Détails concernant l'atelier.

  4. Cliquez sur Suivant.

  5. Copiez le mot de passe ci-dessous et collez-le dans la boîte de dialogue Bienvenue.

    {{{user_0.password | "Password"}}}

    Vous trouverez également le mot de passe dans le panneau Détails concernant l'atelier.

  6. Cliquez sur Suivant.

    Important : Vous devez utiliser les identifiants fournis pour l'atelier. N'utilisez pas les identifiants de votre compte Google Cloud. Remarque : Si vous utilisez votre propre compte Google Cloud pour cet atelier, des frais supplémentaires peuvent vous être facturés.
  7. Procédez tel qu'indiqué ci-dessous sur les pages suivantes :

    • Acceptez les conditions d'utilisation.
    • N'ajoutez pas d'options de récupération ni d'authentification à deux facteurs (ce compte est temporaire).
    • Ne vous inscrivez pas à des essais sans frais.

Après quelques instants, la console Cloud s'ouvre dans cet onglet.

Remarque : Pour afficher un menu contenant la liste des produits et services Google Cloud, cliquez sur le menu de navigation en haut à gauche. Icône du menu de navigation

Activer Cloud Shell

Cloud Shell est une machine virtuelle qui contient de nombreux outils pour les développeurs. Elle comprend un répertoire d'accueil persistant de 5 Go et s'exécute sur Google Cloud. Cloud Shell vous permet d'accéder via une ligne de commande à vos ressources Google Cloud.

  1. Cliquez sur Activer Cloud Shell Icône Activer Cloud Shell en haut de la console Google Cloud.

Une fois connecté, vous êtes en principe authentifié et le projet est défini sur votre ID_PROJET : . Le résultat contient une ligne qui déclare l'ID_PROJET pour cette session :

Your Cloud Platform project in this session is set to {{{project_0.project_id | "PROJECT_ID"}}}

gcloud est l'outil de ligne de commande pour Google Cloud. Il est préinstallé sur Cloud Shell et permet la complétion par tabulation.

  1. (Facultatif) Vous pouvez lister les noms des comptes actifs à l'aide de cette commande :
gcloud auth list
  1. Cliquez sur Autoriser.

Résultat :

ACTIVE: * ACCOUNT: {{{user_0.username | "ACCOUNT"}}} To set the active account, run: $ gcloud config set account `ACCOUNT`
  1. (Facultatif) Vous pouvez lister les ID de projet à l'aide de cette commande :
gcloud config list project

Résultat :

[core] project = {{{project_0.project_id | "PROJECT_ID"}}} Remarque : Pour consulter la documentation complète sur gcloud, dans Google Cloud, accédez au guide de présentation de la gcloud CLI.

Configuration Workspace

  1. Dans Cloud Shell, définissez l'ID et le numéro de votre projet. Enregistrez-les en tant que variables PROJECT_ID et PROJECT_NUMBER :
export PROJECT_ID=$(gcloud config get-value project) export PROJECT_NUMBER=$(gcloud projects describe $PROJECT_ID --format='value(projectNumber)')
  1. Activez l'API Artifact Registry :
gcloud services enable artifactregistry.googleapis.com
  1. Clonez le dépôt nécessaire pour cet atelier, puis accédez au répertoire container-analysis :
git clone https://github.com/GoogleCloudPlatform/java-docs-samples cd java-docs-samples/container-registry/container-analysis

Tâche 1 : Dépôts standards

Les dépôts standards vous permettent de stocker vos packages privés et de les partager avec vos autres applications.

  1. Exécutez la commande suivante pour créer un dépôt Maven standard pour les artefacts Java :
gcloud artifacts repositories create container-dev-java-repo \ --repository-format=maven \ --location=us-central1 \ --description="Java package repository for Container Dev Workshop"

Si l'invite d'autorisation de Cloud Shell s'affiche, cliquez sur Autoriser.

  1. Dans la console Cloud, accédez à Artifact Registry > Dépôts et repérez le dépôt Maven que vous venez de créer, nommé container-dev-java-repo. Si vous cliquez dessus, vous verrez qu'il est vide pour le moment.

  2. Examinez le dépôt dans le terminal :

gcloud artifacts repositories describe container-dev-java-repo \ --location=us-central1

La réponse devrait se présenter comme suit :

Encryption: Google-managed key Repository Size: 0.000MB createTime: '2023-03-21T19:01:45.461589Z' description: Java package repository for Container Dev Workshop format: MAVEN mavenConfig: {} mode: STANDARD_REPOSITORY name: projects/qwiklabs-gcp-03-4304110dc461/locations/us-central1/repositories/container-dev-java-repo updateTime: '2023-03-21T19:01:45.461589Z'

Cliquez sur Vérifier ma progression pour valider l'objectif. Créer un dépôt Maven standard

Tâche 2 : Configurer Maven pour Artifact Registry

  1. Exécutez la commande suivante pour imprimer la configuration de dépôt à ajouter à votre projet Java :
gcloud artifacts print-settings mvn \ --repository=container-dev-java-repo \ --location=us-central1

La commande précédente renvoie le fichier XML à ajouter au fichier pom.xml de vos projets.

  • La section repositories spécifie l'emplacement où Maven peut télécharger des artefacts distants pour les utiliser dans le projet actuel.
  • La section distributionManagement spécifie le dépôt distant vers lequel le projet sera transféré lors de son déploiement.
  • La section extensions ajoute artifactregistry-maven-wagon, qui active la couche d'authentification et de transport nécessaire pour se connecter à Artifact Registry.
  • Remarque : les extensions peuvent exister aux formats pom.xml ou extensions.xml. Dans les cas où le projet dépend d'un projet parent, ces dépendances sont accessibles avant le chargement du reste des entrées dans le fichier pom.xml. Pour s'assurer que le parent a accès à l'extension, celle-ci peut être placée dans un fichier extensions.xml qui est chargé avant le fichier pom.xml, ce qui la rend disponible pour les dépendances parentales.
  1. Exécutez la commande suivante dans Cloud Shell pour ouvrir l'éditeur dans le répertoire actuel :
cloudshell workspace .
  1. Copiez les trois sections, puis ouvrez le fichier pom.xml dans l'éditeur Cloud Shell et ajoutez les paramètres renvoyés en bas du fichier, juste à l'intérieur de la balise de fermeture project.

Exemple : (les noms de vos projets seront différents dans vos URL)

... <distributionManagement> <snapshotRepository> <id>artifact-registry</id> <url>artifactregistry://us-central1-maven.pkg.dev/qwiklabs-gcp-04-3c51830ea757/container-dev-java-repo</url> </snapshotRepository> <repository> <id>artifact-registry</id> <url>artifactregistry://us-central1-maven.pkg.dev/qwiklabs-gcp-04-3c51830ea757/container-dev-java-repo</url> </repository> </distributionManagement> <repositories> <repository> <id>artifact-registry</id> <url>artifactregistry://us-central1-maven.pkg.dev/qwiklabs-gcp-04-3c51830ea757/container-dev-java-repo</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </repository> </repositories> <build> <extensions> <extension> <groupId>com.google.cloud.artifactregistry</groupId> <artifactId>artifactregistry-maven-wagon</artifactId> <version>2.2.0</version> </extension> </extensions> </build> </project>

Maintenant qu'Artifact Registry est configuré dans Maven, vous pouvez l'utiliser pour stocker des fichiers JAR Java qui pourront être utilisés par d'autres projets de votre organisation.

  1. Exécutez la commande suivante pour importer votre package Java dans Artifact Registry :
mvn deploy -DskipTests

Si vous souhaitez exécuter à nouveau cette commande, veillez à augmenter la version dans le fichier pom.xml.

  1. Dans la console Cloud, accédez à Artifact Registry > Dépôts. Cliquez sur container-dev-java-repo et vérifiez que l'artefact binaire hello-world s'y trouve :
Détails du dépôt Artifact Registry

Tâche 3 : Dépôts distants

Les dépôts distants permettent de mettre en cache les packages tiers pour améliorer la fiabilité et la sécurité.

  1. Exécutez la commande suivante pour créer un dépôt distant pour les artefacts Maven Central :
gcloud artifacts repositories create maven-central-cache \ --project=$PROJECT_ID \ --repository-format=maven \ --location=us-central1 \ --description="Remote repository for Maven Central caching" \ --mode=remote-repository \ --remote-repo-config-desc="Maven Central" \ --remote-mvn-repo=MAVEN-CENTRAL
  1. Dans la console Cloud, accédez à Artifact Registry > Dépôts. Cliquez sur maven-central-cache. Vous verrez qu'il a été créé et qu'il est actuellement vide.

Cliquez sur Vérifier ma progression pour valider l'objectif. Créer un dépôt distant

  1. Examinez le dépôt dans le terminal :
gcloud artifacts repositories describe maven-central-cache \ --location=us-central1
  1. Exécutez la commande suivante pour imprimer la configuration de dépôt à ajouter à votre projet Java :
gcloud artifacts print-settings mvn \ --repository=maven-central-cache \ --location=us-central1
  1. Ajoutez la section du dépôt à votre fichier pom.xml. Veillez à ne pas copier la balise <repositories> externe à partir du résultat.

  2. Modifiez l'ID du dépôt nouvellement ajouté en "central" pour vous assurer que chaque entrée de dépôt possède un identifiant unique.

Exemple : (les noms de vos projets seront différents dans vos URL)

... <distributionManagement> <snapshotRepository> <id>artifact-registry</id> <url>artifactregistry://us-central1-maven.pkg.dev/qwiklabs-gcp-04-3c51830ea757/container-dev-java-repo</url> </snapshotRepository> <repository> <id>artifact-registry</id> <url>artifactregistry://us-central1-maven.pkg.dev/qwiklabs-gcp-04-3c51830ea757/container-dev-java-repo</url> </repository> </distributionManagement> <repositories> <repository> <id>artifact-registry</id> <url>artifactregistry://us-central1-maven.pkg.dev/qwiklabs-gcp-04-3c51830ea757/container-dev-java-repo</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </repository> <repository> <id>central</id> <url>artifactregistry://us-central1-maven.pkg.dev/qwiklabs-gcp-04-3c51830ea757/maven-central-cache</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </repository> </repositories> <build> <extensions> <extension> <groupId>com.google.cloud.artifactregistry</groupId> <artifactId>artifactregistry-maven-wagon</artifactId> <version>2.2.0</version> </extension> </extensions> </build> </project>
  1. Exécutez les commandes suivantes dans votre terminal pour créer un fichier extensions.xml pour votre projet. Cela permet d'utiliser le mécanisme des extensions de base et de s'assurer que Maven peut résoudre les dépendances parentes ou de plug-in à partir d'Artifact Registry.
mkdir .mvn cat > .mvn/extensions.xml << EOF <extensions xmlns="http://maven.apache.org/EXTENSIONS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/EXTENSIONS/1.0.0 http://maven.apache.org/xsd/core-extensions-1.0.0.xsd"> <extension> <groupId>com.google.cloud.artifactregistry</groupId> <artifactId>artifactregistry-maven-wagon</artifactId> <version>2.2.0</version> </extension> </extensions> EOF
  1. Exécutez la commande suivante pour compiler votre application à l'aide du dépôt distant :
rm -rf ~/.m2/repository mvn compile
  1. Dans la console Cloud, accédez à Artifact Registry > Dépôts. Cliquez sur maven-central-cache et vérifiez que les artefacts binaires mis en cache s'y trouvent :
Détails du dépôt Artifact Registry

Tâche 4 : Dépôts virtuels

Les dépôts virtuels servent d'interface pour accéder à plusieurs dépôts à l'aide d'une seule configuration. Cela simplifie la configuration du client pour les consommateurs de vos artefacts et renforce la sécurité en atténuant les attaques par confusion de dépendances.

  1. Créez un fichier de règles.
cat > ./policy.json << EOF [ { "id": "private", "repository": "projects/${PROJECT_ID}/locations/us-central1/repositories/container-dev-java-repo", "priority": 100 }, { "id": "central", "repository": "projects/${PROJECT_ID}/locations/us-central1/repositories/maven-central-cache", "priority": 80 } ] EOF
  1. Créez le dépôt virtuel.
gcloud artifacts repositories create virtual-maven-repo \ --project=${PROJECT_ID} \ --repository-format=maven \ --mode=virtual-repository \ --location=us-central1 \ --description="Virtual Maven Repo" \ --upstream-policy-file=./policy.json

Cliquez sur Vérifier ma progression pour valider l'objectif. Créer un dépôt virtuel

  1. Exécutez la commande suivante pour imprimer la configuration de dépôt à ajouter à votre projet Java :
gcloud artifacts print-settings mvn \ --repository=virtual-maven-repo \ --location=us-central1
  1. Remplacez l'intégralité de la section "repositories" de votre fichier pom par la section "virtual repositories" de la sortie.

Exemple : (les noms de vos projets seront différents dans vos URL)

... <distributionManagement> <snapshotRepository> <id>artifact-registry</id> <url>artifactregistry://us-central1-maven.pkg.dev/qwiklabs-gcp-04-3c51830ea757/container-dev-java-repo</url> </snapshotRepository> <repository> <id>artifact-registry</id> <url>artifactregistry://us-central1-maven.pkg.dev/qwiklabs-gcp-04-3c51830ea757/container-dev-java-repo</url> </repository> </distributionManagement> <repositories> <repository> <id>artifact-registry</id> <url>artifactregistry://us-central1-maven.pkg.dev/qwiklabs-gcp-04-3c51830ea757/virtual-maven-repo</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </repository> </repositories> <build> <extensions> <extension> <groupId>com.google.cloud.artifactregistry</groupId> <artifactId>artifactregistry-maven-wagon</artifactId> <version>2.2.0</version> </extension> </extensions> </build> </project>

Extraire les dépendances du dépôt virtuel

Étant donné que le dépôt virtuel est un dépôt intermédiaire et ne stocke aucun package réel, pour illustrer clairement le processus, vous allez supprimer le dépôt maven-central-cache que vous avez créé précédemment et le recréer, afin de repartir d'un dépôt vide.

  1. Exécutez les commandes suivantes pour recréer le dépôt du cache.
gcloud artifacts repositories delete maven-central-cache \ --project=$PROJECT_ID \ --location=us-central1 \ --quiet gcloud artifacts repositories create maven-central-cache \ --project=$PROJECT_ID \ --repository-format=maven \ --location=us-central1 \ --description="Remote repository for Maven Central caching" \ --mode=remote-repository \ --remote-repo-config-desc="Maven Central" \ --remote-mvn-repo=MAVEN-CENTRAL
  1. Vous pouvez examiner le dépôt vide dans la console. Console Cloud > Artifact Registry > Dépôts.

  2. Entraînez-vous maintenant sur le dépôt virtuel en compilant votre projet à l'aide de la commande suivante :

rm -rf ~/.m2/repository mvn compile
  1. Examinez les packages dans la console. Console Cloud > Artifact Registry > Dépôts. Cliquez sur maven-central-cache et vérifiez que les artefacts binaires ont été configurés pour être extraits du dépôt virtuel, mais qu'ils ont finalement été extraits de maven-central-cache.
Détails du dépôt Artifact Registry

Félicitations !

Vous avez appris à utiliser plusieurs modes de dépôt et les différentes utilités de ces dépôts.

Étapes suivantes et informations supplémentaires

Formations et certifications Google Cloud

Les formations et certifications Google Cloud vous aident à tirer pleinement parti des technologies Google Cloud. Nos cours portent sur les compétences techniques et les bonnes pratiques à suivre pour être rapidement opérationnel et poursuivre votre apprentissage. Nous proposons des formations pour tous les niveaux, à la demande, en salle et à distance, pour nous adapter aux emplois du temps de chacun. Les certifications vous permettent de valider et de démontrer vos compétences et votre expérience en matière de technologies Google Cloud.

Dernière mise à jour du manuel : 10 septembre 2024

Dernier test de l'atelier : 6 décembre 2023

Copyright 2024 Google LLC Tous droits réservés. Google et le logo Google sont des marques de Google LLC. Tous les autres noms de société et de produit peuvent être des marques des sociétés auxquelles ils sont associés.

Avant de commencer

  1. Les ateliers créent un projet Google Cloud et des ressources pour une durée déterminée.
  2. Les ateliers doivent être effectués dans le délai imparti et ne peuvent pas être mis en pause. Si vous quittez l'atelier, vous devrez le recommencer depuis le début.
  3. En haut à gauche de l'écran, cliquez sur Démarrer l'atelier pour commencer.

Utilisez la navigation privée

  1. Copiez le nom d'utilisateur et le mot de passe fournis pour l'atelier
  2. Cliquez sur Ouvrir la console en navigation privée

Connectez-vous à la console

  1. Connectez-vous à l'aide des identifiants qui vous ont été attribués pour l'atelier. L'utilisation d'autres identifiants peut entraîner des erreurs ou des frais.
  2. Acceptez les conditions d'utilisation et ignorez la page concernant les ressources de récupération des données.
  3. Ne cliquez pas sur Terminer l'atelier, à moins que vous n'ayez terminé l'atelier ou que vous ne vouliez le recommencer, car cela effacera votre travail et supprimera le projet.

Ce contenu n'est pas disponible pour le moment

Nous vous préviendrons par e-mail lorsqu'il sera disponible

Parfait !

Nous vous contacterons par e-mail s'il devient disponible

Un atelier à la fois

Confirmez pour mettre fin à tous les ateliers existants et démarrer celui-ci

Utilisez la navigation privée pour effectuer l'atelier

Le meilleur moyen d'exécuter cet atelier consiste à utiliser une fenêtre de navigation privée. Vous éviterez ainsi les conflits entre votre compte personnel et le compte temporaire de participant, qui pourraient entraîner des frais supplémentaires facturés sur votre compte personnel.