Tutoriel : Création d'une application complète avec des plans composables PDK - Amazon CodeCatalyst

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Tutoriel : Création d'une application complète avec des plans composables PDK

Amazon CodeCatalyst fournit un certain nombre de plans différents pour vous aider à démarrer rapidement vos projets. Un projet créé à l'aide d'un plan inclut les ressources dont vous avez besoin, notamment un référentiel de sources, des exemples de code source, des flux de travail CI/CD, des rapports de construction et de test, ainsi que des outils intégrés de suivi des problèmes. Cependant, il peut arriver que vous souhaitiez développer progressivement un projet ou ajouter des fonctionnalités à un projet existant créé par un plan. Vous pouvez également le faire avec des plans. Ce didacticiel explique comment démarrer avec un plan unique qui pose les bases et vous permet de stocker tout le code de votre projet dans un référentiel unique. À partir de là, vous avez la flexibilité d'intégrer des ressources et une infrastructure supplémentaires en ajoutant d'autres plans en plus du plan initial à votre convenance. Grâce à cette méthode modulaire, vous pouvez répondre à des exigences spécifiques dans le cadre de plusieurs projets.

Ce didacticiel montre comment composer plusieurs plans de kit de développement de AWS projet (AWSPDK) ensemble pour créer une application composée d'un site Web React, SmithyAPI, et de l'CDKinfrastructure de support sur laquelle le déployer. AWS AWSPDKIl fournit des éléments de base pour les modèles courants ainsi que des outils de développement pour gérer et créer vos projets. Pour plus d'informations, consultez le référentiel AWS PDK GitHub source.

Les PDK plans suivants sont conçus pour être utilisés les uns avec les autres afin de créer une application de manière composable :

  • Monorepo - Crée un projet au niveau racine qui gère les interdépendances entre les projets au sein du monorepo. Le projet fournit également une mise en cache des builds et une visualisation des dépendances.

  • Type Safe API : crée un code API qui peut être défini dans Smithy ou Open API v3, et gère la génération de code au moment de la construction pour vous permettre de l'implémenter et d'interagir avec le vôtre de API manière sécurisée. Fournit une CDK structure qui gère votre déploiement sur API API Gateway et configure la validation automatique des entrées.

  • Site Web Cloudscape React - Crée un site Web basé sur React créé à l'aide de Cloudscape qui est préintégré à Cognito Auth et (éventuellement) que vous avez crééAPI, ce qui vous permet de vous appeler en toute sécurité. API

  • Infrastructure : crée un projet qui met en place toutes les CDK infrastructures associées nécessaires au déploiement de votre application. Il est également préconfiguré pour générer un diagramme basé sur votre CDK code à chaque fois que vous créez.

  • DevOps- Crée DevOps des flux de travail compatibles avec les structures du kit de développement de AWS projet (AWSPDK).

Le didacticiel explique également comment afficher l'application déployée, inviter d'autres utilisateurs à travailler dessus et apporter des modifications au code à l'aide de demandes d'extraction qui sont automatiquement créées et déployées sur les ressources du AWS compte connecté lorsque la demande d'extraction est fusionnée.

Lorsque vous créez un projet composé de PDK plans, votre projet est créé avec les ressources suivantes dans un CodeCatalyst projet :

  • Un référentiel source configuré en tant que monorepo.

  • Un flux de travail qui exécute une analyse statique du code et une vérification des licences, ainsi que qui crée et déploie l'exemple de code chaque fois qu'une modification est apportée à la branche par défaut. Un schéma d'architecture est généré chaque fois que vous modifiez le code.

  • Un tableau des problèmes et un carnet de dossiers que vous pouvez utiliser pour planifier et suivre le travail.

  • Une suite de rapports de test avec des rapports automatisés.

Prérequis

Pour créer et mettre à jour un projet, vous devez avoir effectué les tâches Configurer et se connecter à CodeCatalyst suivantes :

Étape 1 : créer un projet monorepo

Commencez par le plan PDK- Monorepo pour créer votre base de code monorepo qui servira de base et vous permettra d'ajouter des plans supplémentaires. PDK

Pour créer un projet à l'aide du plan PDK - Monorepo

  1. Ouvrez la CodeCatalyst console à l'adresse https://codecatalyst.aws/.

  2. Dans la CodeCatalyst console, accédez à l'espace dans lequel vous souhaitez créer un projet.

  3. Sur le tableau de bord de l'espace, choisissez Créer un projet.

  4. Choisissez Commencer par un plan.

  5. Choisissez le plan PDK- Monorepo, puis cliquez sur Suivant.

  6. Sous Nommer votre projet, entrez le nom que vous souhaitez attribuer à votre projet et les noms de ressources associés. Le nom doit être unique dans votre espace.

  7. Sous Ressources du projet, procédez comme suit :

    1. Sous Langage de programmation principal, choisissez le langage dans lequel vous souhaitez développer le code de votre projet. Vous pouvez choisir entre TypeScript Java ou Python.

    2. Choisissez la configuration du code

    3. Dans le champ de saisie de texte Référentiel source, entrez le nom d'un référentiel source, qui créera un nouveau référentiel, ou sélectionnez-le parmi un référentiel lié existant. Le référentiel existant doit être vide. Pour de plus amples informations, veuillez consulter Lier un référentiel source.

    4. (Facultatif) Dans le menu déroulant Gestionnaire de packages, choisissez un gestionnaire de packages. Cela n'est nécessaire que si vous avez sélectionné TypeScript comme langage de programmation principal.

  8. (Facultatif) Pour prévisualiser le code qui sera généré en fonction des paramètres de projet que vous avez sélectionnés, choisissez Afficher le code dans Générer un aperçu du projet.

  9. (Facultatif) Choisissez Afficher les détails dans la fiche du plan pour afficher des détails spécifiques sur le plan, tels qu'un aperçu de l'architecture du plan, les connexions et autorisations requises, ainsi que le type de ressources créé par le plan.

  10. Choisissez Create project pour créer votre projet monorepo. Le projet créé au niveau racine gère les interdépendances entre les projets au sein du monorepo, ainsi que la mise en cache des builds et la gestion des dépendances.

    Pour plus d'informations sur les plans de projet, consultezCréation d'un projet complet avec des CodeCatalyst plans.

Le plan PDK- Monorepo ne fait que créer les bases du projet. Pour créer une application fonctionnelle à l'aide du plan, vous devez ajouter d'autres PDK plans tels que Type SafeAPI, Cloudscape React Website, Infrastructure ou. DevOps À l'étape suivante, vous allez ajouter un Type Safe API au projet.

Étape 2 : Ajouter Type Safe API au projet

Le API plan PDK- Type Safe vous permet de définir une version à API l'aide de Smithy ou OpenAI v3. Il génère des packages d'exécution à partir de votre API définition, qui incluent des clients pour interagir avec vous API et du code côté serveur pour implémenter votre. API Le plan génère également une CDK construction avec une sécurité de type pour chaque API opération. Vous pouvez ajouter le plan à un projet PDK monorepo existant pour ajouter des API fonctionnalités au projet.

Pour ajouter le API plan PDK - Type Safe

  1. Dans le volet de navigation de votre projet monorepo, choisissez Blueprints, puis choisissez Ajouter un plan.

  2. Choisissez le API plan PDK- Type Safe, puis choisissez Next.

  3. Sous Configurer le plan, configurez les paramètres du plan :

    • Sous Langue du modèle, choisissez la langue dans API laquelle le modèle est défini.

    • Dans le champ de saisie de texte Namespace, entrez un espace de noms pour votre. API

    • Dans le champ de saisie du APInom, saisissez le nom de votreAPI.

    • Sous CDKlangue, choisissez votre langue préférée pour écrire CDK l'infrastructure API dans laquelle déployer l'infrastructure.

    • Choisissez le menu déroulant Langue (s) du gestionnaire, puis choisissez les langues dans lesquelles vous souhaitez implémenter les gestionnaires pour API les opérations.

    • Choisissez le menu déroulant Format (s) de documentation, puis choisissez les formats que vous souhaitez pour générer la API documentation.

  4. Dans l'onglet Modifications du code, passez en revue les modifications proposées. La différence affichée dans une pull request indique les modifications apportées à votre projet au moment de la création de la pull request.

  5. Lorsque vous êtes satisfait des modifications proposées qui seront apportées lors de l'application du plan, choisissez Ajouter un plan.

    Après avoir créé une pull request, vous pouvez ajouter des commentaires. Des commentaires peuvent être ajoutés à la pull request ou à des lignes individuelles des fichiers, ainsi qu'à la pull request globale. Vous pouvez ajouter des liens vers des ressources telles que des fichiers en utilisant le @ signe suivi du nom du fichier.

    Note

    Le plan ne sera pas appliqué tant que la pull request ne sera pas approuvée et fusionnée. Pour plus d’informations, consultez Révision d'une pull request et Fusion d'une pull request.

  6. Dans la colonne Status, choisissez Pending pull request pour la ligne de API plan PDK- Type Safe, puis choisissez le lien de la pull request ouverte.

  7. Choisissez Fusionner, choisissez votre stratégie de fusion préférée, puis choisissez Fusionner pour intégrer les modifications du plan appliqué.

    Une fois la pull request fusionnée, un nouveau packages/apis/mypdkapi dossier est généré dans votre projet monorepo, qui contient tout le code source API associé à votre Type Safe configuré. API

  8. Dans le volet de navigation, choisissez Blueprints pour confirmer que le statut du PDK- Type Safe API indique À jour.

Étape 3 : ajouter un site Web Cloudscape React pour le projet

Le plan du site Web PDK- Cloudscape React génère un site Web. Vous pouvez associer un paramètre facultatif (Type SafeAPIs) pour configurer automatiquement votre site Web afin de configurer des clients sécurisés authentifiés, ainsi qu'un API explorateur interactif pour tester vos différents API clients.

Pour ajouter le plan du site PDK Web - Cloudscape React

  1. Dans le volet de navigation de votre projet monorepo, choisissez Blueprints, puis choisissez Ajouter un plan.

  2. Choisissez le plan du site Web PDK - Cloudscape React, puis choisissez Next.

  3. Sous Configurer le plan, configurez les paramètres du plan :

    • Dans le champ de saisie du nom du site Web, entrez le nom de votre site Web.

    • Choisissez le menu APIs déroulant Type Safe, puis choisissez les API plans que vous souhaitez intégrer au site Web. La transmission permet de API configurer les clients authentifiés et d'ajouter les dépendances, l'APIexplorateur et les autres fonctionnalités requis.

  4. Dans l'onglet Modifications du code, passez en revue les modifications proposées. La différence affichée dans une pull request indique les modifications apportées à votre projet au moment de la création de la pull request.

  5. Lorsque vous êtes satisfait des modifications proposées qui seront apportées lors de l'application du plan, choisissez Ajouter un plan.

    Après avoir créé une pull request, vous pouvez ajouter des commentaires. Des commentaires peuvent être ajoutés à la pull request ou à des lignes individuelles des fichiers, ainsi qu'à la pull request globale. Vous pouvez ajouter des liens vers des ressources telles que des fichiers en utilisant le @ signe suivi du nom du fichier.

    Note

    Le plan ne sera pas appliqué tant que la pull request ne sera pas approuvée et fusionnée. Pour plus d’informations, consultez Révision d'une pull request et Fusion d'une pull request.

  6. Dans la colonne État, choisissez Pending pull request for the PDK- Cloudscape React Website blueprint row, puis choisissez le lien de la pull request ouverte.

  7. Choisissez Fusionner, choisissez votre stratégie de fusion préférée, puis choisissez Fusionner pour intégrer les modifications du plan appliqué.

    Une fois la pull request fusionnée, un nouveau packages/websites/my-website-name dossier est généré dans votre projet monorepo, qui contient tout le code source de votre nouveau site Web.

  8. Dans le volet de navigation, choisissez Blueprints pour confirmer que l'état du site Web PDK - Cloudscape React indique « À jour ».

Ensuite, vous allez ajouter le PDK plan d'infrastructure pour générer l'infrastructure nécessaire au déploiement de votre site Web AWS dans le cloud.

Étape 4 : générer l'infrastructure pour déployer l'application AWS dans le cloud

Le PDK plan d'infrastructure met en place un package contenant l'ensemble de votre CDK code pour déployer votre site Web etAPI. Il fournit également la génération de diagrammes et la conformité au pack de prototypage par défaut.

Pour ajouter le PDK - Plan d'infrastructure

  1. Dans le volet de navigation de votre projet monorepo, choisissez Blueprints, puis choisissez Ajouter un plan.

  2. Choisissez le plan PDK- Infrastructure, puis cliquez sur Suivant.

  3. Sous Configurer le plan, configurez les paramètres du plan :

    • Sous CDKlangue, choisissez la langue avec laquelle vous souhaitez développer votre infrastructure.

    • Dans le champ de saisie du nom de la pile, entrez le nom de la CloudFormation pile générée pour votre plan.

      Note

      Notez le nom de cette pile pour l'étape suivante, au cours de laquelle vous allez définir un DevOps flux de travail.

    • Choisissez le menu APIs déroulant Type Safe, puis choisissez les API plans que vous souhaitez intégrer au site Web.

    • Choisissez le menu déroulant des sites Web de Cloudscape React TS, puis choisissez les plans de sites Web que vous souhaitez déployer au sein de votre infrastructure (par exemple, PDK- Site Web de Cloudscape React).

  4. Dans l'onglet Modifications du code, passez en revue les modifications proposées. La différence affichée dans une pull request indique les modifications apportées à votre projet au moment de la création de la pull request.

  5. Lorsque vous êtes satisfait des modifications proposées qui seront apportées lors de l'application du plan, choisissez Ajouter un plan.

    Après avoir créé une pull request, vous pouvez ajouter des commentaires. Des commentaires peuvent être ajoutés à la pull request ou à des lignes individuelles des fichiers, ainsi qu'à la pull request globale. Vous pouvez ajouter des liens vers des ressources telles que des fichiers en utilisant le @ signe suivi du nom du fichier.

    Note

    Le plan ne sera pas appliqué tant que la pull request ne sera pas approuvée et fusionnée. Pour plus d’informations, consultez Révision d'une pull request et Fusion d'une pull request.

  6. Dans la colonne État, sélectionnez Demande d'extraction en attente pour la ligne PDK- Plan d'infrastructure, puis choisissez le lien de la demande d'extraction ouverte.

  7. Choisissez Fusionner, choisissez votre stratégie de fusion préférée, puis choisissez Fusionner pour intégrer les modifications du plan appliqué.

    Une fois la pull request fusionnée, un nouveau packages/infra dossier est généré dans votre projet monorepo, qui contient l'infrastructure qui déploiera votre projet dans le AWS cloud.

  8. Dans le volet de navigation, choisissez Blueprints pour confirmer que le statut de l'PDKinfrastructure indique À jour.

Vous allez ensuite ajouter le DevOps plan PDK- pour déployer votre application.

Étape 5 : configurer un DevOps flux de travail pour déployer votre projet

Le DevOps plan PDK- génère les DevOps flux de travail nécessaires pour créer et déployer votre projet à l'aide du AWS compte et du rôle spécifiés dans la configuration.

Pour ajouter le DevOps plan PDK -

  1. Dans le volet de navigation de votre projet monorepo, choisissez Blueprints, puis choisissez Ajouter un plan.

  2. Choisissez le DevOps plan PDK-, puis cliquez sur Suivant.

  3. Sous Configurer le plan, configurez les paramètres du plan :

    • Choisissez Bootstrap CDK dans l'environnement actuel.

    • Dans le champ de saisie du nom de la pile, entrez le nom de la CloudFormation pile que vous souhaitez déployer. Cela doit correspondre au nom de pile configuré dans Étape 4 : générer l'infrastructure pour déployer l'application AWS dans le cloud le plan PDK- Infrastructure.

    • Choisissez le menu déroulant de connexion au AWS compte, puis choisissez le AWS compte que vous souhaitez utiliser pour les ressources. Pour de plus amples informations, veuillez consulter Ajouter un Compte AWS à un espace.

    • Choisissez le menu déroulant Le rôle à utiliser pour le déploiement de votre application, puis choisissez le IAM rôle que vous souhaitez utiliser pour déployer l'application de votre projet.

      Note

      Lorsque vous créez un IAM rôle, limitez-le SourceArn au contenu actuel ProjectID des paramètres du projet. Pour de plus amples informations, veuillez consulter Comprendre le rôle CodeCatalystWorkflowDevelopmentRole-spaceNamedu service.

    • Choisissez le menu déroulant Région, puis choisissez la région dans laquelle vous souhaitez déployer votre projet monorepo. Le déploiement ne fonctionne que dans les régions où les AWS services requis existent. Pour plus d'informations, consultez la section AWSServices par région.

  4. Dans l'onglet Modifications du code, passez en revue les modifications proposées. La différence affichée dans une pull request indique les modifications apportées à votre projet au moment de la création de la pull request.

  5. Lorsque vous êtes satisfait des modifications proposées qui seront apportées lors de l'application du plan, choisissez Ajouter un plan.

    Après avoir créé une pull request, vous pouvez ajouter des commentaires. Des commentaires peuvent être ajoutés à la pull request ou à des lignes individuelles des fichiers, ainsi qu'à la pull request globale. Vous pouvez ajouter des liens vers des ressources telles que des fichiers en utilisant le @ signe suivi du nom du fichier.

    Note

    Le plan ne sera pas appliqué tant que la pull request ne sera pas approuvée et fusionnée. Pour plus d’informations, consultez Révision d'une pull request et Fusion d'une pull request.

  6. Dans la colonne État, sélectionnez Demande d'extraction en attente pour la ligne PDK- Plan d'infrastructure, puis choisissez le lien de la demande d'extraction ouverte.

  7. Choisissez Fusionner, choisissez votre stratégie de fusion préférée, puis choisissez Fusionner pour intégrer les modifications du plan appliqué.

    Une fois la pull request fusionnée, un nouveau .codecatalyst/workflows dossier est généré dans votre projet monorepo.

  8. Dans le volet de navigation, choisissez Blueprints pour confirmer que le statut du PDK- DevOps indique À jour.

Note

Le PDK DevOps plan et toutes les modifications ultérieures apportées aux PDK plans seront nettement plus lents à partir de maintenant, car des fichiers de verrouillage sont générés en arrière-plan pour garantir la reproductibilité des builds et des déploiements à l'avenir. Cela générera des fichiers de verrouillage pour tous les packages dans toutes les langues prises en charge.

Étape 6 : Confirmez le flux de publication et consultez votre site Web

Une fois que vous avez terminé les étapes précédentes, vous pouvez confirmer le flux de travail de publication pour vous assurer que le projet est en cours de création.

Pour confirmer le flux de publication et consulter votre site Web

  1. Dans le volet de navigation de votre projet monorepo, choisissez CI/CD, puis Workflows.

  2. Pour le flux de travail de publication, choisissez le dernier flux de travail exécuté pour afficher les détails. Pour de plus amples informations, veuillez consulter Afficher le statut et les détails d'une seule exécution.

  3. Une fois le flux de travail exécuté avec succès, choisissez la dernière action du flux de travail (par exemple, Déploy-B eta-ap-souteast -2), puis choisissez Variables.

    PDKflux de travail des plans.
  4. Affichez le site Web déployé en copiant et en collant le lien figurant dans le tableau des variables (par exemple, MyPDKApiwebsiteDistributionDomainNom XXXXX) dans une nouvelle fenêtre de navigateur.

    Tableau des variables d'une action de flux de travail.

    Vous avez besoin d'un compte Amazon Cognito pour vous connecter à votre site Web. Par défaut, le groupe d'utilisateurs n'est pas configuré pour autoriser l'auto-enregistrement.

    1. Accédez à la console AWSCognito.

    2. Dans le tableau Groupes d'utilisateurs, choisissez le nom du groupe d'utilisateurs qui correspond au groupe d'utilisateurs créé par le DevOps plan PDK-, qui se trouve dans le tableau des variables (par exemple, ci-dessouscalculatebetaUserIdentityinfracalculatebetaUserIdentityIdentityPoolIdXXXXX. Pour plus d'informations, voir Commencer à utiliser les groupes d'utilisateurs.

      Groupe d'utilisateurs créé par PDK- DevOps blueprint.
    3. Choisissez Create user (Créer un utilisateur).

    4. Configurez les paramètres des informations utilisateur :

      • Sous Message d'invitation, choisissez Envoyer une invitation par e-mail.

      • Dans le champ de saisie du nom d'utilisateur, entrez un nom d'utilisateur.

      • Dans le champ de saisie de texte de l'adresse e-mail, entrez un nom d'utilisateur.

      • Sous Mot de passe temporaire, choisissez Générer un mot de passe.

    5. Choisissez Create user (Créer un utilisateur).

    6. Accédez au compte e-mail que vous avez saisi pour les paramètres d'informations utilisateur, ouvrez un e-mail avec un mot de passe temporaire. Notez le mot de passe.

    7. Revenez au site Web déployé, entrez le nom d'utilisateur que vous avez créé et le mot de passe temporaire que vous avez reçu, puis choisissez Se connecter.

  5. (Facultatif) Une fois le flux de travail exécuté avec succès, vous pouvez également afficher le diagramme généré. Choisissez l'onglet Artefacts dans CodeCatalyst, choisissez Télécharger pour la ligne du diagramme, puis ouvrez le ou les fichiers téléchargés.

    Onglet Artifacts pour le flux de travail.
    Schéma généré par des PDK plans.

Collaborez et itérez sur le projet PDK

Une fois votre projet configuré, vous pouvez apporter des modifications au code source. Vous pouvez également inviter d'autres membres de l'espace à travailler sur le projet. PDKles plans vous permettent de créer votre application de manière itérative, en ajoutant uniquement ce dont vous avez besoin, quand vous en avez besoin, tout en gardant le contrôle total de la configuration de chaque plan.

Étape 1 : Invitez des membres à rejoindre votre projet

Vous pouvez utiliser la console pour inviter des utilisateurs à rejoindre votre projet. Vous pouvez inviter des membres de votre espace ou ajouter des noms provenant de l'extérieur de votre espace.

Pour inviter des utilisateurs à rejoindre votre projet, vous devez être connecté avec le rôle d'administrateur du projet ou d'administrateur de l'espace.

Il n'est pas nécessaire d'inviter un utilisateur ayant le rôle d'administrateur de l'espace à rejoindre votre projet, car il dispose déjà d'un accès implicite à tous les projets de l'espace.

Lorsque vous invitez un utilisateur à rejoindre votre projet (sans lui attribuer le rôle d'administrateur de l'espace), l'utilisateur apparaît dans le tableau des membres du projet sous les projets et dans le tableau des membres du projet sous les espaces.

Pour inviter un membre à rejoindre votre projet depuis l'onglet Paramètres du projet
  1. Accédez à votre projet.

    Astuce

    Vous pouvez choisir le projet à afficher dans la barre de navigation supérieure.

  2. Dans le volet de navigation, sélectionnez Paramètres du projet.

  3. Choisissez l'onglet Membres.

  4. Dans Membres du projet, sélectionnez Inviter un nouveau membre.

  5. Entrez l'adresse e-mail du nouveau membre, choisissez le rôle de ce membre, puis choisissez Inviter. Pour plus d'informations sur les rôles , consultez Octroi d'accès avec des rôles d'utilisateur.

Pour inviter un membre à rejoindre votre projet depuis la page d'aperçu du projet
  1. Accédez à votre projet.

    Astuce

    Vous pouvez choisir le projet à afficher dans la barre de navigation supérieure.

  2. Cliquez sur le bouton Membres +.

  3. Entrez l'adresse e-mail du nouveau membre, choisissez le rôle de ce membre, puis choisissez Inviter. Pour plus d'informations sur les rôles , consultez Octroi d'accès avec des rôles d'utilisateur.

Étape 2 : créer des problèmes pour collaborer et suivre le travail

CodeCatalyst vous aide à suivre les fonctionnalités, les tâches, les bogues et tout autre travail impliqué dans votre projet présentant des problèmes. Vous pouvez créer des problèmes pour suivre le travail et les idées nécessaires. Par défaut, lorsque vous créez un problème, celui-ci est ajouté à votre backlog. Vous pouvez déplacer les problèmes vers un tableau où vous pouvez suivre le travail en cours. Vous pouvez également attribuer un problème à un membre du projet en particulier. Au cours de cette étape, créez un problème pour apporter des modifications à votre PDK projet.

Pour créer un problème

  1. Ouvrez la CodeCatalyst console à l'adresse https://codecatalyst.aws/.

  2. Accédez à votre projet monorepo dans lequel vous souhaitez créer un problème.

  3. Sur la page d'accueil du projet, choisissez Créer un problème. Sinon, dans le volet de navigation, sélectionnez Problèmes.

  4. Choisissez Créer un problème.

    Note

    Vous pouvez également ajouter des problèmes en ligne lorsque vous utilisez une vue en grille.

  5. Entrez le titre du numéro.

  6. (Facultatif) Entrez une description. Pour ce problème, entrez la description suivante :a change in the src/mysfit_data.json file.. Vous pouvez utiliser Markdown pour ajouter du formatage.

  7. (Facultatif) Choisissez un statut, une priorité ou une estimation pour le problème.

  8. (Facultatif) Ajoutez une étiquette existante ou créez-en une nouvelle et ajoutez-la en choisissant + Ajouter une étiquette.

    1. Pour ajouter une étiquette existante, choisissez-la dans la liste. Vous pouvez saisir un terme de recherche dans le champ pour rechercher toutes les étiquettes contenant ce terme dans le projet.

    2. Pour créer une nouvelle étiquette et l'ajouter, entrez le nom de l'étiquette que vous souhaitez créer dans le champ de recherche et appuyez sur Entrée.

  9. (Facultatif) Ajoutez un destinataire en choisissant + Ajouter un destinataire. Vous pouvez rapidement vous ajouter en tant que cessionnaire en choisissant + M'ajouter.

    Astuce

    Vous pouvez choisir d'attribuer un problème à Amazon Q pour qu'Amazon Q essaie de le résoudre. Pour de plus amples informations, veuillez consulter Tutoriel : Utiliser les fonctionnalités CodeCatalyst génératives de l'IA pour accélérer votre travail de développement.

    Cette fonctionnalité nécessite que les fonctionnalités d'IA génératives soient activées pour l'espace. Pour plus d'informations, consultez la section Gestion des fonctionnalités génératives de l'IA.

  10. (Facultatif) Ajoutez un champ personnalisé existant ou créez-en un nouveau. Les problèmes peuvent comporter plusieurs champs personnalisés.

    1. Pour ajouter un champ personnalisé existant, choisissez-le dans la liste. Vous pouvez saisir un terme de recherche dans le champ pour rechercher tous les champs personnalisés contenant ce terme dans le projet.

    2. Pour créer un nouveau champ personnalisé et l'ajouter, entrez le nom du champ personnalisé que vous souhaitez créer dans le champ de recherche et appuyez sur Entrée. Choisissez ensuite le type de champ personnalisé que vous souhaitez créer et définissez une valeur.

  11. Choisissez Créer un problème. Une notification apparaît dans le coin inférieur droit : si le problème a été créé avec succès, un message de confirmation apparaît indiquant que le problème a été créé avec succès. Si le problème n'a pas été créé correctement, un message d'erreur indiquant la raison de l'échec apparaît. Vous pouvez ensuite choisir Réessayer pour modifier et réessayer de créer le problème, ou choisir Ignorer pour ignorer le problème. Les deux options annuleront la notification.

    Note

    Vous ne pouvez pas lier une pull request à un problème lorsque vous la créez. Cependant, vous pouvez le modifier après l'avoir créé pour ajouter des liens vers des pull requests.

Pour de plus amples informations, veuillez consulter Suivez et organisez le travail en cas de problèmes dans CodeCatalyst.

Étape 3 : Afficher votre référentiel source

Vous pouvez consulter les référentiels de sources associés à un projet sur Amazon CodeCatalyst. Pour les référentiels sources dans CodeCatalyst, la page de présentation d'un référentiel fournit un aperçu rapide des informations et des activités dans ce référentiel, notamment :

  • Description du référentiel, le cas échéant

  • Le nombre de branches dans le référentiel

  • Le nombre de pull requests ouvertes pour le référentiel

  • Le nombre de flux de travail associés pour le référentiel

  • Les fichiers et dossiers de la branche par défaut, ou de la branche que vous choisissez

  • Le titre, l'auteur et la date du dernier commit dans la branche affichée

  • Le contenu du fichier README .md affiché dans Markdown, si un fichier README .md est inclus

Cette page fournit également des liens vers les commits, les branches et les pull requests du référentiel, ainsi qu'un moyen rapide d'ouvrir, de visualiser et de modifier des fichiers individuels.

Note

Vous ne pouvez pas afficher ces informations sur les référentiels liés dans la CodeCatalyst console. Pour afficher des informations sur les référentiels liés, cliquez sur le lien dans la liste des référentiels pour ouvrir ce référentiel dans le service qui l'héberge.

Pour accéder aux référentiels sources d'un projet
  1. Accédez à votre projet, puis effectuez l'une des opérations suivantes :

    • Sur la page de résumé de votre projet, choisissez le référentiel souhaité dans la liste, puis choisissez Afficher le référentiel.

    • Dans le volet de navigation, choisissez Code, puis sélectionnez Référentiels sources. Dans Référentiels sources, choisissez le nom du référentiel dans la liste. Vous pouvez filtrer la liste des référentiels en saisissant une partie du nom du référentiel dans la barre de filtre.

  2. Sur la page d'accueil du référentiel, consultez le contenu du référentiel et les informations sur les ressources associées, telles que le nombre de pull requests et les flux de travail. Par défaut, le contenu de la branche par défaut est affiché. Vous pouvez modifier l'affichage en choisissant une autre branche dans la liste déroulante.

Astuce

Vous pouvez également accéder rapidement aux référentiels de votre projet en choisissant Voir le code du projet sur la page de résumé du projet.

Étape 4 : créer un environnement de développement et apporter des modifications au code

Au cours de cette étape, créez un environnement de développement et apportez des modifications au code qui sont ensuite fusionnées dans la branche principale. Bien que ce didacticiel vous guide à travers un AWS PDK projet simple, vous pouvez également suivre un exemple plus complexe fourni dans le AWSPDK GitHub référentiel.

Pour créer un environnement de développement avec une nouvelle branche

  1. Dans le volet de navigation de votre projet monorepo, effectuez l'une des opérations suivantes :

    • Choisissez Overview, puis accédez à la section Mes environnements de développement.

    • Choisissez Code, puis Dev Environments.

    • Choisissez Code, choisissez Référentiels sources, puis choisissez le référentiel monorepo pour lequel vous souhaitez créer un environnement de développement.

  2. Choisissez un support dans le IDE menu déroulant. Pour plus d’informations, consultez Environnements de développement intégrés pris en charge pour les environnements de développement.

  3. Choisissez Cloner un dépôt.

  4. Choisissez le référentiel à cloner, choisissez Travailler dans une nouvelle branche, entrez le nom de la branche dans le champ Nom de la branche et choisissez une branche à partir de laquelle créer la nouvelle branche dans le menu déroulant Créer une branche depuis.

    Note

    Si vous créez un environnement de développement à partir de la page Référentiels sources ou à partir d'un référentiel source spécifique, vous n'avez pas besoin de choisir un référentiel. L'environnement de développement sera créé à partir du référentiel source que vous avez choisi sur la page Référentiels source.

  5. (Facultatif) Dans Alias - facultatif, entrez un alias pour l'environnement de développement.

  6. (Facultatif) Cliquez sur le bouton d'édition de la configuration de l'environnement de développement pour modifier la configuration de calcul, de stockage ou de temporisation de l'environnement de développement.

  7. (Facultatif) Dans Amazon Virtual Private Cloud (AmazonVPC), sélectionnez une VPC connexion que vous souhaitez associer à votre environnement de développement dans le menu déroulant.

    Si une valeur par défaut VPC est définie pour votre espace, vos environnements de développement s'exécuteront en connexion avec celui-ciVPC. Vous pouvez contourner cela en associant une autre VPC connexion. Notez également que les environnements de développement VPC connectés ne prennent pas en charge le AWS Toolkit.

    Note

    Lorsque vous créez un environnement de développement avec une VPC connexion, une nouvelle interface réseau est créée dans leVPC. CodeCatalyst interagit avec cette interface en utilisant le VPC rôle associé. Assurez-vous également que votre IPv4 CIDR bloc n'est pas configuré en fonction de la plage d'adresses 172.16.0.0/12 IP.

  8. Sélectionnez Create (Créer). Pendant la création de votre environnement de développement, la colonne d'état de l'environnement de développement affichera Démarrage, et la colonne d'état indiquera En cours d'exécution une fois l'environnement de développement créé.

Une fois que votre environnement de développement est en cours d'exécution, vous pouvez utiliser l'exemple d'application que vous avez généré en CodeCatalyst modifiant le code avec des pull requests qui sont automatiquement créées et déployées sur les ressources du AWS compte connecté lorsque la pull request est fusionnée. Le monorepo vend un fichier de développement afin que toutes les dépendances et tous les environnements d'exécution globaux requis soient automatiquement présents.

Pour modifier le code de votre projet

  1. Dans un terminal de travail de votre environnement de développement, accédez à votre projet monorepo, puis installez les dépendances de votre projet en exécutant la commande suivante :

    npx projen install
  2. Accédez aupackages/apis/mypdkapi/model/src/main/smithy/operations/say-hello.smithy, qui définit un exemple d'APIopération. Dans ce didacticiel, vous allez créer une Calculate opération simple qui consiste à additionner deux nombres. Modifiez le code pour définir cette opération, y compris son entrée et sa sortie.

    Exemple :

    $version: "2" namespace com.aws @http(method: "POST", uri: "/calculate") @handler(language: "typescript") operation Calculate { input := { @required numberA: Integer @required numberB: Integer } output := { @required result: Integer } }

    Le @handler trait indique à Type Safe API que vous allez implémenter cette opération en tant que gestionnaire AWS Lambda écrit en. TypeScript Le Type Safe API générera un stub pour cette opération dans TypeScript lequel vous pourrez l'implémenter. Le @required trait est ajouté, ce qui signifie qu'il sera appliqué au moment de l'exécution par la API passerelle déployée. Pour plus d'informations, consultez la documentation de Smithy.

  3. Renommez le /say-hello.smithy nom du fichier avec un nom qui correspond aux modifications de votre code (par exemple,calculate.smithy).

  4. Accédez aupackages/apis/mypdkapi/model/src/main/smithy/main.smithy, et modifiez le code pour connecter l'opération. Vous pouvez exposer l'Calculateopération définie dans le /calculate.smithy en la listant dans le operations champ de ce fichier.

    Exemple :

    $version: "2" namespace com.aws use aws.protocols#restJson1 /// A sample smithy api @restJson1 service MyPDKApi { version: "1.0" operations: [Calculate] errors: [ BadRequestError NotAuthorizedError InternalFailureError ] }
  5. Créez les modifications en exécutant la commande suivante :

    npx projen build
    Note

    Vous pouvez éventuellement transmettre un --parallel X drapeau, qui répartira le build entre les X cœurs.

    Depuis l'ajout du @handler trait, les fichiers suivants sont générés une fois la construction terminée :

    • /packages/apis/mypdkapi/handlers/typescript/src/calculate.ts

    • /packages/apis/mypdkapi/handlers/typescript/test/calculate.test.ts

  6. Accédez au packages/apis/mypdkapi/handlers/typescript/src/calculate.ts code et modifiez-le. Ce fichier est le gestionnaire de serveur invoqué pour leAPI.

    import { calculateHandler, CalculateChainedHandlerFunction, INTERCEPTORS, Response, LoggingInterceptor, } from 'mypdkapi-typescript-runtime'; /** * Type-safe handler for the Calculate operation */ export const calculate: CalculateChainedHandlerFunction = async (request) => { LoggingInterceptor.getLogger(request).info('Start Calculate Operation'); const { input } = request; return Response.success({ result: input.body.numberA + input.body.numberB, }); }; /** * Entry point for the AWS Lambda handler for the Calculate operation. * The calculateHandler method wraps the type-safe handler and manages marshalling inputs and outputs */ export const handler = calculateHandler(...INTERCEPTORS, calculate);
  7. Accédez au /packages/apis/mypdkapi/handlers/typescript/test/calculate.test.ts fichier et modifiez le code pour mettre à jour les tests unitaires.

    Exemple :

    import { CalculateChainedRequestInput, CalculateResponseContent, } from 'mypdkapi-typescript-runtime'; import { calculate, } from '../src/calculate'; // Common request arguments const requestArguments = { chain: undefined as never, event: {} as any, context: {} as any, interceptorContext: { logger: { info: jest.fn(), }, }, } satisfies Omit<CalculateChainedRequestInput, 'input'>; describe('Calculate', () => { it('should return correct sum', async () => { const response = await calculate({ ...requestArguments, input: { requestParameters: {}, body: { numberA: 1, numberB: 2 } }, }); expect(response.statusCode).toBe(200); expect((response.body as CalculateResponseContent).result).toEqual(3); }); });
  8. Accédez au /packages/infra/main/src/constructs/apis/mypdkapi.ts fichier et modifiez le code afin d'ajouter une intégration pour l'Calculateopération dans votre CDK infrastructure. La API construction possède une propriété d'intégration, dans laquelle vous pouvez transmettre l'implémentation que vous avez ajoutée précédemment. Puisque vous utilisez le @handler trait dans votre modèle Smithy pour l'Calculateopération, vous pouvez utiliser la CalculateFunction CDK construction générée, qui est préconfigurée, pour pointer vers l'implémentation de votre gestionnaire.

    Exemple :

    import { UserIdentity } from "@aws/pdk/identity"; import { Authorizers, Integrations } from "@aws/pdk/type-safe-api"; import { Stack } from "aws-cdk-lib"; import { Cors } from "aws-cdk-lib/aws-apigateway"; import { AccountPrincipal, AnyPrincipal, Effect, PolicyDocument, PolicyStatement, } from "aws-cdk-lib/aws-iam"; import { Construct } from "constructs"; import { Api, CalculateFunction } from "calculateapi-typescript-infra"; /** * Api construct props. */ export interface CalculateApiProps { /** * Instance of the UserIdentity. */ readonly userIdentity: UserIdentity; } /** * Infrastructure construct to deploy a Type Safe API. */ export class CalculateApi extends Construct { /** * API instance */ public readonly api: Api; constructor(scope: Construct, id: string, props?: CalculateApiProps) { super(scope, id); this.api = new Api(this, id, { defaultAuthorizer: Authorizers.iam(), corsOptions: { allowOrigins: Cors.ALL_ORIGINS, allowMethods: Cors.ALL_METHODS, }, integrations: { calculate: { integration: Integrations.lambda(new CalculateFunction(this, "CalculateFunction")) } }, policy: new PolicyDocument({ statements: [ // Here we grant any AWS credentials from the account that the prototype is deployed in to call the api. // Machine to machine fine-grained access can be defined here using more specific principals (eg roles or // users) and resources (ie which api paths may be invoked by which principal) if required. // If doing so, the cognito identity pool authenticated role must still be granted access for cognito users to // still be granted access to the API. new PolicyStatement({ effect: Effect.ALLOW, principals: [new AccountPrincipal(Stack.of(this).account)], actions: ["execute-api:Invoke"], resources: ["execute-api:/*"], }), // Open up OPTIONS to allow browsers to make unauthenticated preflight requests new PolicyStatement({ effect: Effect.ALLOW, principals: [new AnyPrincipal()], actions: ["execute-api:Invoke"], resources: ["execute-api:/*/OPTIONS/*"], }), ], }), }); // Grant authenticated users access to invoke the api props?.userIdentity.identityPool.authenticatedRole.addToPrincipalPolicy( new PolicyStatement({ effect: Effect.ALLOW, actions: ["execute-api:Invoke"], resources: [this.api.api.arnForExecuteApi("*", "/*", "*")], }), ); } }
  9. Créez les modifications en exécutant la commande suivante :

    npx projen build

Une fois la construction de votre projet terminée, vous pouvez consulter le schéma généré mis à jour, qui se trouve dans le/packages/infra/main/cdk.out/cdkgraph/diagram.png. Le schéma montre comment la fonction est ajoutée et connectée à la fonction API créée. Au fur et à mesure que le CDK code est modifié, ce diagramme est également mis à jour.

Vous pouvez désormais déployer vos modifications en les transférant et en les fusionnant dans la branche principale de votre dépôt.

Étape 5 : Transférez et fusionnez les modifications de code

Validez et publiez vos modifications de code, qui peuvent ensuite être fusionnées dans la branche principale de votre dépôt source.

Pour appliquer les modifications à votre branche de fonctionnalités

  • Validez et envoyez les modifications à votre branche de fonctionnalités en exécutant les commandes suivantes :

    git add .
    git commit -m "my commit message"
    git push

Le fait d'apporter des modifications déclenche l'exécution d'un nouveau flux de travail pour votre branche de fonctionnalités, que vous pouvez consulter dans la CodeCatalyst console. Vous pouvez ensuite créer une pull request pour fusionner les modifications apportées à la branche principale de votre dépôt source. La fusion de la branche des fonctionnalités avec votre branche principale déclenche le flux de production. Vous pouvez également associer la pull request à votre problème.

Pour créer une pull request et l'associer à votre problème

  1. Dans votre projet monorepo, effectuez l'une des opérations suivantes :

    • Dans le volet de navigation, choisissez Code, choisissez Pull requests, puis Create pull request.

    • Sur la page d'accueil du référentiel, choisissez Plus, puis Create pull request.

    • Sur la page du projet, choisissez Create pull request.

  2. Dans le référentiel source, assurez-vous que le référentiel source spécifié est celui qui contient le code validé. Cette option n'apparaît que si vous n'avez pas créé la pull request depuis la page principale du dépôt.

  3. Dans Branche de destination, choisissez la branche principale dans laquelle vous souhaitez fusionner le code une fois celui-ci révisé.

  4. Dans Branche source, choisissez la branche de fonctionnalité qui contient le code validé.

  5. Dans Titre de la demande d'extraction, entrez un titre qui aide les autres utilisateurs à comprendre ce qui doit être revu et pourquoi.

  6. (Facultatif) Dans la description de la Pull request, fournissez des informations telles qu'un lien vers les problèmes ou une description de vos modifications.

    Astuce

    Vous pouvez choisir Write description for me afin de générer CodeCatalyst automatiquement une description des modifications contenues dans la pull request. Vous pouvez apporter des modifications à la description générée automatiquement après l'avoir ajoutée à la pull request.

    Cette fonctionnalité nécessite que les fonctionnalités d'IA génératives soient activées pour l'espace. Pour plus d'informations, consultez la section Gestion des fonctionnalités d'IA générative sur Amazon CodeCatalyst.

  7. Dans Problèmes, choisissez Lier les problèmes, puis choisissez le problème que vous avez créé dansÉtape 2 : créer des problèmes pour collaborer et suivre le travail. Pour dissocier un problème, cliquez sur l'icône de dissociation.

  8. (Facultatif) Dans Réviseurs obligatoires, sélectionnez Ajouter les réviseurs requis. Choisissez parmi la liste des membres du projet pour les ajouter. Les réviseurs requis doivent approuver les modifications avant que la pull request puisse être fusionnée dans la branche de destination.

    Note

    Vous ne pouvez pas ajouter un réviseur à la fois comme réviseur obligatoire et comme réviseur facultatif. Vous ne pouvez pas vous ajouter en tant que réviseur.

  9. (Facultatif) Dans Réviseurs facultatifs, sélectionnez Ajouter des réviseurs facultatifs. Choisissez parmi la liste des membres du projet pour les ajouter. Les réviseurs facultatifs n'ont pas à approuver les modifications comme condition préalable pour que la pull request puisse être fusionnée dans la branche de destination.

  10. Votre pull request doit être revue et fusionnée dans la branche principale par les réviseurs ou par vous-même. Pour de plus amples informations, veuillez consulter Fusion d'une pull request.

    Lorsque vos modifications sont fusionnées dans la branche principale de votre référentiel source, un nouveau flux de travail est automatiquement déclenché.

  11. Une fois la fusion terminée, vous pouvez déplacer votre problème vers Terminé.

    1. Dans le volet de navigation, sélectionnez Problèmes.

    2. Choisissez le problème créé dansÉtape 2 : créer des problèmes pour collaborer et suivre le travail, choisissez la liste déroulante État, puis cliquez sur Terminé.

Le flux de production déploie votre application après une exécution réussie, afin que vous puissiez visualiser les modifications.

Pour confirmer le flux de publication et consulter votre site Web

  1. Dans le volet de navigation de votre projet monorepo, choisissez CI/CD, puis Workflows.

  2. Pour le flux de travail de publication, choisissez le dernier flux de travail exécuté pour afficher les détails. Pour de plus amples informations, veuillez consulter Afficher le statut et les détails d'une seule exécution.

  3. Une fois le flux de travail exécuté avec succès, choisissez la dernière action du flux de travail (Déploy-B eta-ap-souteast -2), puis choisissez Variables.

  4. Consultez le site Web déployé en copiant et en collant le lien depuis MyPDKApiwebsiteDistributionDomainNom de XXXXX la ligne dans une nouvelle fenêtre de navigateur.

  5. Entrez le nom d'utilisateur et le mot de passe que vous avez créésÉtape 6 : Confirmez le flux de publication et consultez votre site Web, puis choisissez Se connecter.

  6. (Facultatif) Testez les modifications dans votre application.

    1. Choisissez le POSTmenu déroulant.

    2. Entrez deux valeurs pour numberA etnumber B, puis choisissez Execute.

    3. Confirmez les résultats dans le corps de la réponse.

Au fil du temps, les versions PDK du catalogue des plans peuvent changer. Vous pouvez modifier les plans de votre projet en fonction des versions du catalogue pour rester au courant des dernières modifications. Vous pouvez consulter les modifications du code et les environnements concernés avant de modifier les versions du plan de votre projet. Pour de plus amples informations, veuillez consulter Modification des versions du plan dans un projet.