Modèles de projet AWS CodeStar - AWS CodeStar

Le 31 juillet 2024, Amazon Web Services (AWS) cessera de prendre en charge la création et la visualisation de AWS CodeStar projets. Après le 31 juillet 2024, vous ne pourrez plus accéder à la AWS CodeStar console ni créer de nouveaux projets. Toutefois, les AWS ressources créées par AWS CodeStar, y compris vos référentiels sources, vos pipelines et vos versions, ne seront pas affectées par cette modification et continueront de fonctionner. AWS CodeStar Les connexions et AWS CodeStar les notifications ne seront pas affectées par cette interruption.

 

Si vous souhaitez suivre le travail, développer du code et créer, tester et déployer vos applications, Amazon CodeCatalyst propose un processus de démarrage rationalisé et des fonctionnalités supplémentaires pour gérer vos projets logiciels. En savoir plus sur les fonctionnalités et les tarifs d'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.

Modèles de projet AWS CodeStar

AWS CodeStarles modèles de projet vous permettent de commencer par un exemple d'application et de le déployer à l'aide AWS des ressources créées pour soutenir votre projet de développement. Lorsque vous choisissez un modèle de AWS CodeStar projet, le type d'application, le langage de programmation et la plate-forme de calcul sont configurés pour vous. Une fois que vous avez créé des projets avec des applications web, des services web, des compétences Alexa et des pages web statiques, vous pouvez remplacer l'exemple d'application par votre propre application.

Après avoir AWS CodeStar créé votre projet, vous pouvez modifier les AWS ressources qui prennent en charge la livraison de votre application. AWS CodeStarfonctionne avec AWS CloudFormation pour vous permettre d'utiliser du code pour créer des services de support et des serveurs/plateformes sans serveur dans le cloud. AWS CloudFormationvous permet de modéliser l'ensemble de votre infrastructure dans un fichier texte.

Fichiers et ressources de projet AWS CodeStar

Un projet AWS CodeStar rassemble le code source et les ressources créées pour déployer le code. Les ressources qui, ensemble, aident à générer, publier et déployer le code sont appelées ressources de chaîne d'outils. Lors de la création d'un projet, un modèle AWS CloudFormation alloue les ressources de chaîne d'outils dans un pipeline d'intégration continue/de déploiement continu (CI/CD).

Vous pouvez l'utiliser AWS CodeStar pour créer des projets de deux manières, en fonction de votre niveau d'expérience en matière de création de AWS ressources :

  • Lorsque vous utilisez la console pour créer un projet, AWS CodeStar crée vos ressources de chaîne d'outils, y compris votre référentiel, et remplit ce dernier avec des exemples de code d'application et de fichiers de projet. Utilisez la console pour configurer rapidement des exemples de projets à partir d'un ensemble d'options de projet préconfigurées.

  • Lorsque vous utilisez l'interface de ligne de commande pour créer un projet, vous devez fournir le modèle AWS CloudFormation créant vos ressources de chaîne d'outils et le code source de l'application. Utilisez l'interface de ligne de commande pour permettre à AWS CodeStar de créer votre projet à partir de votre modèle, puis remplissez votre référentiel avec vos exemples de code.

Un projet AWS CodeStar fournit un seul point de gestion. Vous pouvez utiliser l'assistant Créer un projet dans la console pour configurer un exemple de projet. Vous pouvez ensuite l'utiliser comme plateforme de collaboration pour la gestion des autorisations et des ressources de votre équipe. Pour plus d'informations, veuillez consulter Qu'est-ce qu'AWS CodeStar ?. Lorsque vous utilisez la console pour créer un projet, votre code source est fourni sous forme d'exemple de code et vos ressources de chaîne d'outils CI/CD sont créées pour vous.

Lorsque vous créez un projet dans la console, AWS CodeStar alloue les ressources suivantes :

  • Un référentiel de code dans GitHub ou CodeCommit.

  • Dans le référentiel de projet, un fichier README.md qui fournit les détails des fichiers et des annuaires.

  • Dans le référentiel de projet, un fichier template.yml qui stocke la définition de la pile d'exécution de votre application. Vous utilisez ce fichier pour ajouter ou modifier des ressources de projet qui ne sont pas des ressources de chaîne d'outils, telles que les AWS ressources utilisées pour les notifications, le support de base de données, la surveillance et le suivi.

  • AWSles services et ressources créés en relation avec votre pipeline, tels que le compartiment d'artefacts Amazon S3, Amazon CloudWatch Events et les rôles de service associés.

  • Un exemple d'application opérationnel avec le code source complet et un point de terminaison HTTP public.

  • Une ressource AWS de calcul, basée sur le type de modèle de AWS CodeStar projet :

    • Une fonction Lambda.

    • Une instance Amazon EC2.

    • Un environnement AWS Elastic Beanstalk.

  • À partir du 6 décembre 2018 PDT :

    • Une limite d'autorisations qui est une stratégie IAM spécialisée pour contrôler l'accès aux ressources du projet. La limite d'autorisations est attachée par défaut à des rôles dans l'exemple de projet. Pour de plus amples informations, veuillez consulter Limite d'autorisations IAM pour les rôles de travail.

    • Un rôle AWS CloudFormation IAM permettant de créer des ressources de projet à l'aide duquel AWS CloudFormation il inclut des autorisations pour toutes les ressources AWS CloudFormation prises en charge, y compris les rôles IAM.

    • Un rôle de chaîne de compilation IAM.

    • Les rôles d'exécution pour Lambda sont définis dans la pile d'applications, que vous pouvez modifier.

  • Avant le 6 décembre 2018 PDT :

    • Un rôle AWS CloudFormation IAM pour créer des ressources de projet prenant en charge un ensemble limité de ressources AWS CloudFormation.

    • Rôle IAM pour créer une CodePipeline ressource.

    • Rôle IAM pour créer une CodeBuild ressource.

    • Rôle IAM pour créer une CodeDeploy ressource, s'il est applicable à votre type de projet.

    • Un rôle IAM pour créer l'application Web Amazon EC2, le cas échéant, à votre type de projet.

    • Rôle IAM pour créer une ressource d' CloudWatch événements.

    • Rôle d'exécution pour Lambda qui est modifié dynamiquement pour inclure un ensemble partiel de ressources.

Le projet inclut des pages détaillées qui indiquent le statut et contiennent des liens vers la gestion de l'équipe, des liens vers des instructions de configuration pour les IDE ou votre référentiel, ainsi qu'un historique des validations des modifications du code source dans le référentiel. Vous pouvez également sélectionner des outils pour la connexion à des outils externes de suivi des problèmes, tels que Jira.

Mise en route : Choix d'un modèle de projet

Lorsque vous choisissez un projet AWS CodeStar dans la console, vous effectuez votre choix parmi un ensemble d'options préconfigurées avec un exemple de code et des ressources vous permettant de faire vos premiers pas rapidement. Ces options sont appelés modèles de projet. Chaque modèle de AWS CodeStar projet comprend un langage de programmation, un type d'application et une plate-forme de calcul. La combinaison que vous sélectionnez détermine le modèle de projet.

Choix d'une plateforme de calcul de modèle

Chaque modèle configure l'un des types de plateformes de calcul suivants :

  • Lorsque vous choisissez un AWS Elastic Beanstalk projet, vous le déployez dans un AWS Elastic Beanstalk environnement sur des instances Amazon Elastic Compute Cloud dans le cloud.

  • Lorsque vous choisissez un projet Amazon EC2, vous AWS CodeStar créez des instances Linux EC2 pour héberger votre application dans le cloud. Les membres de votre équipe de projet peuvent accéder aux instances, et votre équipe utilise la paire de clés que vous fournissez pour accéder par SSH à vos instances Amazon EC2. AWS CodeStardispose également d'un SSH géré qui utilise les autorisations des membres de l'équipe pour gérer les connexions par paires de clés.

  • Lorsque vous le AWS Lambda souhaitez, AWS CodeStar crée un environnement sans serveur accessible via Amazon API Gateway, sans instance ni serveur à gérer.

Choix d'un type d'application de modèle

Chaque modèle configure l'un des types d'applications suivants :

  • Service web

    Un service web est utilisé pour les tâches qui s'exécutent en arrière-plan, telles que les appels d'API. Une fois qu'AWS CodeStar a créé votre exemple de projet de service web, vous pouvez choisir l'URL du point de terminaison pour voir la sortie « Hello World », mais la principale utilisation de ce type d'application n'est pas l'utilisation comme interface utilisateur. Les modèles de projet AWS CodeStar de cette catégorie prennent en charge le développement en Ruby, Java, ASP.NET, PHP, Node.js et autres.

  • Application web

    Une application web fonctionne comme une interface utilisateur. Une fois qu'AWS CodeStar a créé votre exemple de projet d'application web, vous pouvez choisir l'URL du point de terminaison pour afficher une application web interactive. Les modèles de projet AWS CodeStar de cette catégorie prennent en charge le développement en Ruby, Java, ASP.NET, PHP, Node.js et autres.

  • Page web statique

    Choisissez ce modèle si vous souhaitez un projet pour un site web HTML. Les modèles de projet AWS CodeStar de cette catégorie prennent en charge le développement en HTML5.

  • Compétence Alexa

    Choisissez ce modèle si vous souhaitez un projet pour une compétence Alexa avec une fonction AWS Lambda. Lorsque vous créez le projet de compétence, AWS CodeStar renvoie un Amazon Resource Name (ARN) que vous pouvez utiliser comme point de terminaison de service. Pour plus d'informations, voir Héberger une compétence personnalisée en tant que fonction AWS Lambda.

    Note

    Les fonctions Lambda pour les compétences Alexa ne sont prises en charge que dans les régions USA Est (Virginie du Nord), USA Ouest (Oregon), UE (Irlande) et Asie-Pacifique (Tokyo).

  • Règle de configuration

    Choisissez ce modèle si vous souhaitez créer un projet de AWS Config règle qui vous permette d'automatiser les règles entre les AWS ressources de votre compte. La fonction renvoie un ARN que vous pouvez utiliser comme point de terminaison de service pour votre règle.

Choix d'un langage de programmation de modèle

Lorsque vous choisissez un modèle de projet, vous sélectionnez un langage de programmation, tel que Ruby, Java, ASP.NET, PHP, Node.js, ou autre.

Comment procéder pour modifier votre projet AWS CodeStar

Vous pouvez mettre à jour votre projet en modifiant :

  • L'exemple de code et les ressources de langage de programmation de votre application.

  • Les ressources qui constituent l'infrastructure dans laquelle votre application est stockée et déployée (systèmes d'exploitation, applications et services de support, paramètres de déploiement et plateforme de calcul du cloud). Vous pouvez modifier les ressources de l'application dans le fichier template.yml. Il s'agit du fichier AWS CloudFormation qui modélise l'environnement d'exécution de votre application.

Note

Si vous travaillez sur un AWS CodeStar projet Alexa Skills, vous ne pouvez pas modifier la compétence en dehors du référentiel AWS CodeStar source (CodeCommit ou GitHub). Si vous modifiez la compétence Alexa sur le portail des développeurs, la modification pourra ne pas être visible dans le référentiel source et les deux versions seront désynchronisées.

Modification du code source de l'application et transmission des modifications

Pour modifier un exemple de code source, des scripts et d'autres fichiers source de l'application, modifiez les fichiers dans votre référentiel source comme suit :

  • En utilisant le mode Édition dans CodeCommit ou GitHub.

  • Ouvrez le projet dans un environnement IDE, tel qu'AWS Cloud9.

  • Clonez le référentiel localement, puis validez et transmettez vos modifications. Pour plus d'informations, consultez Étape 4 : valider une modification.

Modifier les ressources de l'application à l'aide du fichier Template.yml

Au lieu de modifier manuellement une ressource d'infrastructure, utilisez AWS CloudFormation pour modéliser et déployer les ressources d'exécution de votre application.

Vous pouvez modifier ou ajouter une ressource d'application, telle qu'une fonction Lambda, dans votre pile d'exécution en modifiant le fichier template.yml dans votre référentiel de projet. Vous pouvez ajouter toute ressource qui est disponible en tant que ressource AWS CloudFormation.

Pour modifier le code ou les paramètres d'une fonction AWS Lambda, consultez Ajout d'une ressource à un projet.

Modifiez le fichier template.yml dans le référentiel de votre projet en ajoutant le type des ressources AWS CloudFormation qui sont des ressources d'application. Lorsque vous ajoutez une ressource d'application à la section Resources du fichier template.yml, AWS CloudFormation et AWS CodeStar créent la ressource pour vous. Pour obtenir la liste des AWS CloudFormation ressources et leurs propriétés requises, consultez la section Référence AWS des types de ressources. Pour plus d'informations, consultez cet exemple dans Étape 1 : Modifier le rôle du CloudFormation travailleur dans IAM.

AWS CodeStar vous permet de mettre en œuvre les bonnes pratiques en configurant et en modélisant l'environnement d'exécution de votre application.

Comment gérer les autorisations de modification des ressources d'application

Lorsque vous utilisez AWS CloudFormation pour ajouter des ressources d'application d'exécution, telles que la fonction Lambda, le rôle de travail AWS CloudFormation peut utiliser les autorisations qu'il possède déjà. Pour certaines ressources d'application d'exécution, vous devez ajuster manuellement les autorisations du rôle de travail AWS CloudFormation pour pouvoir modifier le fichier template.yml.

Pour obtenir un exemple de modification des autorisations du rôle de travail AWS CloudFormation, consultez Étape 5 : ajouter des autorisations de ressources avec une stratégie en ligne.