- Outils pour développeurs›
- AWS CodeBuild›
- Questions fréquentes (FAQ)
FAQ sur AWS CodeBuild
Questions d’ordre général
Qu'est-ce qu’AWS CodeBuild ?
AWS CodeBuild est un service d’intégration continue entièrement géré dans le cloud. CodeBuild compile le code source, exécute des tests et produit des packages prêts à être déployés. Avec CodeBuild, vous n'avez pas besoin de mettre en service, de gérer et de dimensionner vos serveurs de génération. CodeBuild s'adapte en continu et traite plusieurs générations à la fois, de sorte qu'aucune d'elle ne se trouve dans une file d'attente. Vous pouvez démarrer rapidement en utilisant les environnements de génération prépackagés de CodeBuild, ou vous pouvez utiliser vos propres environnements de génération personnalisés, avec vos propres outils de génération. Avec CodeBuild, vous n'êtes facturé qu'à la minute.
Pourquoi utiliser CodeBuild ?
Vous n'avez plus besoin de vous occuper de la configuration, des correctifs et de la gestion du logiciel de serveur de génération, car l'expérience entièrement gérée de CodeBuild se charge de tout. Vous soumettez vos tâches de génération à CodeBuild qui les exécute dans des conteneurs de calcul temporaires, créés à chaque génération et supprimés une fois la tâche terminée. Vous n'avez pas besoin de gérer le matériel ou le logiciel du serveur de génération. CodeBuild procède également à un dimensionnement automatique afin de s'adapter au volume de votre génération. Il traite immédiatement chaque génération que vous soumettez et exécute chacune d'elles simultanément. Ainsi, vos générations ne restent jamais en file d'attente.
Quelle est la tarification appliquée à CodeBuild ?
Consultez la page sur la tarification d’AWS CodeBuild pour obtenir davantage d'informations.
Est-ce que je peux utiliser CodeBuild pour automatiser mon processus de lancement ?
Oui. CodeBuild est intégré à AWS CodePipeline. Vous pouvez ajouter une action de génération et configurer un processus d'intégration et de déploiement continus exécuté dans le cloud. Vous pouvez apprendre à configurer et à superviser vos générations depuis la console CodePipeline ici.
Utilisation de CodeBuild
Qu'est-ce qu'un projet de génération ?
Un projet de génération permet de définir la manière dont CodeBuild exécutera une génération. Il inclut des informations telles que l'emplacement du code source, l'environnement de génération à utiliser, les commandes de génération à exécuter et l'emplacement de stockage de la sortie de génération. Un environnement de génération regroupe le système d'exploitation, l'environnement d'exécution du langage de programmation et les outils utilisés par CodeBuild pour exécuter une génération.
Comment configurer un projet de génération ?
Un projet de génération peut être configuré via la console ou l'interface de ligne de commande AWS. Vous pouvez spécifier l'emplacement du répertoire source, l'environnement d'exécution, les commandes de génération, le rôle IAM du conteneur et la classe de calcul requise pour exécuter la génération. Vous pouvez également, si vous le souhaitez, spécifier les commandes de génération dans un fichier buildspec.yml.
Quels sont les répertoires source pris en charge par CodeBuild ?
CodeBuild peut se connecter à AWS CodeCommit, S3, GitHub et GitHub Enterprise pour extraire du code source pour les générations.
Quelles infrastructures de programmation sont prises en charge par CodeBuild ?
CodeBuild fournit des environnements préconfigurés pour les versions prises en charge de Java, Ruby, Python, Go, Node.js, Android, .NET Core, PHP et Docker. Vous pouvez également personnaliser votre propre environnement en créant une image Docker et en la chargeant dans Amazon EC2 Container Registry (ECR), ou dans le registre Docker Hub. Vous pouvez ensuite faire référence à cette image personnalisée dans votre projet de génération.
Quels sont les moteurs d'exécution Windows pré-configurés fournis par CodeBuild ?
CodeBuild fournit un environnement de génération Windows préconfiguré pour .NET Core 2.0. Nous aimerions fournir un environnement de génération préconfiguré pour les clients Microsoft .NET Framework, dont beaucoup disposent déjà d'une licence pour l'utilisation de bibliothèques propriétaires Microsoft. Toutefois, Microsoft n'a pas tenu à collaborer avec nous pour répondre aux demandes de ces clients pour le moment. Vous pouvez personnaliser votre environnement vous-même pour prendre en charge d'autres cibles de génération, comme .NET Framework, en créant une image Docker et en la chargeant sur Amazon EC2 Container Registry ou le registre Docker Hub. Vous pouvez ensuite faire référence à cette image personnalisée dans votre projet de génération.
Que se passe-t-il lorsqu'une génération est exécutée ?
CodeBuild créera un conteneur de calcul temporaire de la classe définie dans le projet de génération, le chargera avec l'environnement d'exécution spécifié, téléchargera le code source, exécutera les commandes configurées dans le projet, chargera l'artefact généré dans un compartiment S3, puis supprimera le conteneur de calcul. Pendant cette génération, CodeBuild diffusera en continu la sortie de la génération dans la console de service et Amazon CloudWatch.
Comment configurer ma première génération ?
Connectez-vous à AWS Management Console, créez un projet de génération, puis exécutez une génération. Pour une présentation de CodeBuild, consultez Mise en route, qui inclut un didacticiel étape par étape. Vous pouvez également utiliser CodeBuild Local pour tester et déboguer votre version en local.
Est-il possible d'utiliser CodeBuild avec Jenkins ?
Oui. Le plug-in CodeBuild pour Jenkins peut être utilisé pour intégrer CodeBuild aux tâches Jenkins. Les tâches de génération sont envoyées à CodeBuild, et il n'est alors plus nécessaire de mettre en service et de gérer les nœuds de travail Jenkins.
Comment consulter les résultats des générations passées ?
Vous pouvez accéder aux résultats des générations passées via la console, CloudWatch, ou l'API. Ces résultats comprennent le résultat (succès ou échec), la durée de la génération, l'emplacement de l'artefact de sortie et l'emplacement du journal. Avec le tableau de bord CodeBuild, vous pouvez visualiser les mesures pour comprendre le comportement de génération au fil du temps. Le tableau de bord affiche le nombre de générations tentées, réussies et échouées, ainsi que la durée de génération. Vous pouvez également visiter la console CloudWatch pour afficher des mesures de génération plus détaillées. Pour en savoir plus sur la surveillance CodeBuild avec CloudWatch, consultez notre documentation.
Comment déboguer une génération passée en échec ?
Il est possible de déboguer une version en inspectant les journaux détaillés générés lors de l'exécution de la version, ou vous pouvez utiliser CodeBuild Local pour tester et déboguer votre version en local.
Pourquoi les environnement de génération .NET Core for Windows ne prennent-ils pas en charge build.general1.small ?
Les environnements de génération .NET Core for Windows nécessitent plus de mémoire et de puissance de traitement que l'instance de calcul build.general1.small ne peut en fournir, et ce, à cause de la taille du conteneur de base et des bibliothèques supplémentaires Windows Docker. Du fait de cette limitation, il n'existe aucune offre gratuite pour l'environnement de génération .NET Core for Windows.
Comment recevoir des notifications ou des alertes pour des événements dans AWS CodeBuild ?
Vous pouvez créer des notifications pour des événements influençant vos projets de génération. Les notifications se présenteront sous la forme de notifications Amazon SNS. Chaque notification inclura un message d'état, ainsi qu'un lien vers les ressources dont l'événement a généré cette notification. Les notifications n’entraînent pas de coûts supplémentaires, mais il se peut que d’autres services AWS utilisés par les notifications, comme Amazon SNS, vous soient facturés. Consultez le guide d'utilisation des notifications pour savoir comment démarrer avec les notifications. De plus, les clients qui utilisent AWS Chatbot peuvent configurer des notifications à envoyer à leurs canaux Slack ou à leurs salons de discussion Amazon Chime. Pour en savoir plus, cliquez ici.
Sécurité
Est-il possible de chiffrer les artefacts de génération stockés par CodeBuild ?
Oui. Vous pouvez spécifier une clé stockée dans AWS Key Management Service (AWS KMS) pour chiffrer vos artefacts.
Comment CodeBuild isole-t-il les générations appartenant à d'autres clients ?
CodeBuild exécute votre génération dans de nouveaux environnements isolés des autres utilisateurs et supprime chaque environnement de génération une fois l'opération terminée. CodeBuild assure la sécurité et la séparation aux niveaux de l'infrastructure et de l'exécution.
Est-il possible d'utiliser la gestion des identités et des accès (IAM) d’AWS pour gérer l'accès à CodeBuild ?
Oui. Vous pouvez contrôler l'accès à vos projets de génération via les autorisations au niveau des ressources contenues dans les stratégies IAM.
Régions
Quelles sont les régions prises en charge par CodeBuild ?
Consultez la section Produits et services régionaux pour en savoir plus.