Utiliser une application existante dans Cloud Code pour Cloud Shell

Cloud Code exploite Skaffold dans sa configuration d'origine pour exécuter ou déboguer votre application.

Si une application existante est déjà configurée avec des fichiers manifeste Kubernetes et un fichier Dockerfile pour créer vos images, vous pouvez l'ouvrir et l'utiliser avec Cloud Code.

La seule configuration supplémentaire nécessaire est une configuration Skaffold et une configuration de lancement de type cloudcode.kubernetes. Cloud Code vous aide à les créer lorsque vous exécutez ou déboguez votre application pour la première fois.

Paramétrer la configuration

Si votre application dispose d'un fichier Dockerfile, mais ne possède pas les configurations Skaffold et de lancement nécessaires, procédez comme suit :

  1. Dans la barre d'état, cliquez sur Barre d'état Cloud CodeCloud Code, puis sélectionnez Run on Kubernetes (Exécuter sur Kubernetes) ou Debug on Kubernetes (Déboguer sur Kubernetes).

  2. Dans la boîte de dialogue "Run/Debug on Kubernetes" (Exécuter/Déboguer sur Kubernetes), spécifiez le compilateur souhaité et ses paramètres. Vous pouvez également personnaliser le nom de votre configuration.

    Capture d'écran de la boîte de dialogue "Build settings" (Paramètres de compilation) avec les champs de nom de la configuration et d'options du compilateur

  3. Cliquez sur Debug (Déboguer) ou Run (Exécuter). Le fichier skaffold.yaml et la configuration de lancement cloudcode.kubernetes créés sont ajoutés à votre espace de travail et votre application est exécutée ou est prête pour le débogage.

Établir une configuration pour les applications qui possèdent déjà skaffold.yaml

Si votre application dispose déjà d'un fichier skaffold.yaml, procédez comme suit :

  1. Dans la barre d'état, cliquez sur Barre d'état Cloud CodeCloud Code, puis sélectionnez Run on Kubernetes (Exécuter sur Kubernetes) ou Debug on Kubernetes (Déboguer sur Kubernetes).

  2. S'il existe plusieurs fichiers skaffold.yaml dans votre espace de travail, sélectionnez le fichier skaffold.yaml à utiliser.

  3. Si le fichier skaffold.yaml que vous avez choisi contient plusieurs profils Skaffold, sélectionnez votre profil Skaffold.

    La configuration de lancement cloudcode.kubernetes nouvellement créée est ajoutée à votre espace de travail (dans .vscode/launch.json) et votre application est exécutée ou est prête pour le débogage.

Créer manuellement une configuration Skaffold

Vous pouvez créer manuellement votre configuration Skaffold pour définir des options personnalisées. Cloud Code offre une fonctionnalité de modélisation en direct pour permettre la création manuelle de configurations Skaffold.

Pour créer manuellement une configuration Skaffold, procédez comme suit :

  1. Créez un fichier nommé skaffold.yaml dans le répertoire racine de votre espace de travail.

  2. Dans le fichier, appuyez sur Command/Ctrl+Space pour afficher la liste des suggestions d'extraits de code, puis sélectionnez l'extrait de code Skaffold - Getting-started.

    Créer une configuration Skaffold manuellement

  3. Saisissez le nom de votre image de projet dans le champ image, puis saisissez la liste des ressources Kubernetes à déployer dans le champ manifests.

    Exemple pour les builds basés sur Dockerfile :

    build:
      artifacts:
        - image: image_name
    deploy:
      kubectl:
        manifests:
          - k8s/web.yaml
          - k8s/backend.yaml
    

    Si vous souhaitez définir des configurations de compilation, de test et de déploiement pour différents contextes, vous pouvez configurer différents profils Skaffold. L'exemple suivant montre un 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: {}
    

    Pour en savoir plus sur le schéma, consultez la documentation de référence sur le fichier skaffold.yaml.