Utiliser une application existante dans Cloud Code pour IntelliJ

Si vous avez déjà configuré un projet avec des fichiers manifestes Kubernetes, un Dockerfile ou Jib pour créer vos images, vous pouvez l'ouvrir et l'utiliser avec le plug-in. La seule configuration supplémentaire nécessaire est un fichier YAML Skaffold, qui peut être généré automatiquement pour vous ou créé à l'aide du modèle fourni.

Une fois la configuration du fichier YAML Skaffold terminée, veillez à spécifier l'emplacement de stockage de vos images de conteneur, là où l'image du projet est sur le point d'être transférée.

Amorcer automatiquement le projet

Votre projet doit comporter un ou plusieurs fichiers manifestes Kubernetes. Si Cloud Code détecte n'importe quel fichier manifeste Kubernetes dans le projet, Cloud Code tente d'amorcer le projet.

Si Cloud Code ne détecte pas de configuration Skaffold existante, vous serez invité à la définir.

Prérequis

Votre projet doit remplir les conditions préalables suivantes pour être invité à créer un fichier skaffold.yaml et à exécuter les configurations nécessaires:

  • (Option 1) Votre projet dispose d'un fichier Dockerfile et est configuré pour Jib.

  • (Option 2) Votre projet peut être compilé à l'aide de Buildpacks et possède des ressources Kubernetes.

Définir la configuration d'exécution de Kubernetes

Si les conditions préalables sont remplies, Cloud Code vous invite à créer un fichier skaffold.yaml (s'il n'en existe pas déjà un) et à créer les configurations d'exécution nécessaires:

Notification avec un lien permettant de créer les configurations d'exécution Kubernetes Cloud Code

  1. Cliquez sur la notification. Cela a pour effet de créer automatiquement votre configuration si possible.

    Si la création automatique de la configuration Skaffold n'est pas possible en raison de la détection de plusieurs images ou compilateurs, Cloud Code affiche une boîte de dialogue vous invitant à fournir des mappages entre les images et les compilateurs détectés.

    Spécifier les paramètres de compilation à utiliser dans votre configuration Skaffold

    Vous pouvez également définir une configuration Skaffold en accédant àOutils >Cloud Code >Kubernetes et en sélectionnantActiver la prise en charge de Kubernetes.

    Cette option analyse les ressources Kubernetes de votre projet et génère un fichier skaffold.yaml (s'il n'en existe pas déjà un) ainsi que les configurations d'exécution nécessaires. L'un des deux configurations d'exécution permet d'exécuter votre projet sur Kubernetes et l'autre de le développer sur un cluster Kubernetes.

  2. Une fois la prise en charge activée, vous pouvez commencer à exécuter et à déboguer votre projet sur Kubernetes à l'aide des configurations d'exécution récemment ajoutées.

Créer manuellement une configuration Skaffold Cloud Code

Vous pouvez choisir de créer manuellement un fichier skaffold.yaml ou d'ajouter un fichier existant à votre projet.

Pour créer un fichier skaffold.yaml manuellement à l'aide de la création de modèles en temps réel, procédez comme suit:

  1. Créez un fichier nommé skaffold.yaml dans le répertoire racine de votre projet (clic droit > Nouveau > Fichier).

  2. Avec le curseur du nouveau fichier, utilisez Ctrl+Space pour afficher les suggestions de modèles en direct, puis sélectionnez le modèle Skaffold de votre choix.

    Utiliser le modèle Skaffold YAML

  3. Remplissez le champ "image" avec le nom d'image de votre projet et le champ "manifests" (manifestes) avec la liste des ressources Kubernetes que vous souhaitez déployer à partir de l'IDE.

  4. Une fois que Cloud Code a déterminé que votre fichier skaffold.yaml est valide, cliquez sur l'invite pour créer des configurations d'exécution Kubernetes.

    Créer une notification de cible d'exécution Kubernetes

Exemples de configurations Skaffold Cloud Code

  • Builds basés sur Dockerfile :

    build:
      artifacts:
        - image: image_name
    deploy:
      kubectl:
        manifests:
          - k8s/web.yaml
          - k8s/backend.yaml
    
  • Section de build pour les projets Java Maven/Gradle avec le plug-in Jib (la section de déploiement reste identique à l'exemple ci-dessus) :

    build:
    artifacts:
    - image: image_name
      jib: {}
    
  • Si vous souhaitez définir des configurations de compilation, de test et de déploiement pour des contextes différents, vous pouvez utiliser des profils différents. Voici un exemple de profil Cloud Build permettant de configurer Cloud Code pour compiler des images avec Cloud Build :

    profiles:
    # use the cloudbuild profile to build images using Google Cloud Build
    - name: cloudbuild
      build:
        googleCloudBuild: {}
    
  • Si vous souhaitez déployer votre projet avec Helm, consultez la documentation de Helm.

Spécifier l'emplacement de stockage des images de conteneurs

Stockage d'images de conteneurs

Avant de déployer votre application, vous devez définir un dépôt d'images par défaut à utiliser avec votre projet.

Par défaut, le projet est configuré pour utiliser le nom d'image spécifié dans vos fichiers manifestes Kubernetes. Vous pouvez également personnaliser cette spécification d'image. Une fois que vous avez configuré le dépôt de votre choix (Artifact Registry, Container Registry, DockerHub, dépôt privé, etc.), modifiez les configurations d'exécution et spécifiez-les comme dépôt d'images par défaut dans les paramètres de configuration d'exécution. Pour les images Google Container Registry, le champ comprend la saisie semi-automatique pour vous aider à trouver plus rapidement votre dépôt Container Registry.

Celles-ci sont accessibles depuis la boîte de dialogue Run/Debug Configurations (Configurations d'exécution/de débogage) dans la barre des tâches supérieure, sous Edit Configurations > Develop on Kubernetes > ImageRepository (Modifier les configurations > Développer sur Kubernetes > Dépôt d'images).

Dépôt d'images par défaut dans la configuration d'exécution défini au format "gcr.io/" et présentant des options de saisie semi-automatique basées sur le projet actuel et le cluster actif

Pour savoir comment indiquer vos préférences d'images de conteneurs, consultez le guide Configurer les paramètres d'images de conteneurs.

Paramètres de compilation

Une fois votre image de conteneur définie, vous pouvez configurer ses paramètres de compilation. Cloud Code est compatible avec les types d'artefacts Docker, Jib et Buildpacks.

L'onglet Compilation / Déploiement de vos paramètres de configuration d'exécution (Modifier les configurations > Développer sur Kubernetes ) vous permet de configurer les paramètres de compilation de votre profil par défaut.

Paramètres de compilation affichés dans l'onglet "Build/Deploy" (Compilation/Déploiement)

Pour savoir comment spécifier les paramètres de compilation de votre image, consultez le guide Configurer les préférences de compilation d'images de conteneurs.

Étapes suivantes

Obtenir de l'aide

Pour envoyer des commentaires ou signaler un problème dans votre IDE IntelliJ, accédez à Outils > Cloud Code > Aide / À propos > Envoyer des commentaires ou signaler un problème pour signaler un problème sur GitHub, ou posez une question sur Stack Overflow.