Utilisation des demandes d'extraction dansAWS CodeCommitréférentiels - AWS CodeCommit

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.

Utilisation des demandes d'extraction dansAWS CodeCommitréférentiels

Une demande d'extraction est le principal moyen dont les autres utilisateurs de votre référentiel et vous-même disposez pour vérifier, commenter et fusionner les modifications apportées au code d'une branche à une autre. Vous pouvez utiliser des demandes d'extraction pour vérifier, de manière collaborative, les modifications de code associées aux corrections mineures, ainsi qu'aux ajouts de fonctions majeures ou aux nouvelles versions d'un logiciel. Voici un exemple de flux de travail pour une demande d'extraction :

ANNIA est une développeuse qui utilise le référentiel MyDemoRepo pour travailler sur une nouvelle fonction pour une prochaine version d'un produit. Pour séparer son travail du code destiné à la production, elle crée une branche spécifique à partir de la branche par défaut et l'appelle feature-randomizationfeature. Elle crée du code, effectue des validations et transmet le code de la nouvelle fonction dans cette branche. Elle veut que d'autres utilisateurs du référentiel vérifient la qualité du code avant de fusionner ses modifications dans la branche par défaut. Pour ce faire, elle crée une demande d'extraction. Cette demande contient la comparaison entre sa branche de travail et la branche du code dans laquelle elle envisage de fusionner ses modifications (dans ce cas, la branche par défaut). Elle peut également créer une règle d'approbation qui requiert un nombre spécifique d'utilisateurs pour approuver sa demande d'extraction. Elle peut même spécifier un groupe d'utilisateurs d'approbation. D'autres utilisateurs vérifient son code et ses modifications, puis ajoutent des commentaires et des suggestions. Elle peut mettre à jour sa branche de travail plusieurs fois avec les modifications du code en réponse aux commentaires. Ses modifications sont intégrées dans la demande d'extraction chaque fois qu'elle les transmet à cette branche dans CodeCommit. Elle peut également intégrer les modifications qui ont été apportées dans la branche de destination prévue pendant que la demande d'extraction est ouverte. De cette manière, les utilisateurs sont assurés de vérifier toutes les modifications proposées dans le contexte. Lorsqu'elle-même ainsi que ses réviseurs sont satisfaits et que les conditions applicables aux règles d'approbation (le cas échéant) sont remplies, elle ou l'un de ses évaluateurs fusionne son code et ferme la demande d'extraction.

Création d'une demande d'extraction

Les demandes d'extraction nécessitent deux branches : une branche source qui contient le code que vous voulez faire vérifier et une branche de destination dans laquelle vous fusionnez le code vérifié. La branche source contient l'APRÈS-validation, qui est la validation qui contient les modifications que vous souhaitez fusionner dans la branche de destination. La brande de destination contient l'AVANT-validation, qui représente l'état du code avant que la branche de la demande d'extraction ne soit fusionnée dans la branche de destination. Le choix de la stratégie de fusion affecte les détails de la façon dont les validations sont fusionnées entre les branches source et de destination dans la console CodeCommit. Pour plus d'informations sur les stratégies de fusion dans CodeCommit, consultezFusion d'une demande d'extraction (console).

Branches source et de destination d'une demande d'extraction, montrant la relation entre les validation avant et après

La demande d'extraction affiche les différences entre la pointe de la branche source et la dernière validation sur la branche de destination lorsque la demande d'extraction est créée afin que les utilisateurs puissent vérifier et commenter les modifications. Vous pouvez mettre à jour la demande d'extraction en réponse aux commentaires en validant et en envoyant les modifications apportées à la branche source.

Ajout d'un commentaire à une ligne dans une demande d'extraction.

Lorsque votre code a été révisé et que les exigences de la règle d'approbation (le cas échéant) ont été satisfaites, vous pouvez fermer la demande d'extraction de l'une des manières suivantes :

  • Fusionnez les branches en local et transmettez vos modifications. Cette opération ferme automatiquement la demande d'extraction.Si la stratégie de fusion rapide est utilisée et qu'il n'y a pas de conflit de fusion.

  • Utilisez la console AWS CodeCommit pour fermer la demande d'extraction sans procéder à une fusion, résoudre les conflits dans une fusion ou, en l'absence de conflit, fermer et fusionner les branches en utilisant une des stratégies de fusion disponibles.

  • Utilisez la AWS CLI.

Avant de créer une demande d'extraction :

  • Assurez-vous que vous avez validé et transmis les modifications de code que vous voulez faire vérifier dans une branche (la branche source).

  • Configurez les notifications pour le référentiel afin de permettre aux autres utilisateurs d'être automatiquement informés de la demande d'extraction et des modifications qui lui sont apportées. (Cette étape est facultative, mais recommandée).

  • Créez et associez des modèles de règles d'approbation à votre référentiel, afin que des règles d'approbation soient automatiquement créées pour les demandes d'extraction et garantissent la qualité du code. Pour plus d'informations, consultez Utilisation des modèles de règles d'approbation.

Les demandes d'extraction sont plus efficaces lorsque vous avez configuré les utilisateurs IAM de votre référentiel dans votre compte Amazon Web Services. Il est plus facile d'identifier quel utilisateur a fait quel commentaire. L'autre avantage est que les utilisateurs IAM peuvent utiliser les informations d'identification Git pour l'accès au référentiel. Pour plus d'informations, consultez Étape 1 : Configuration initiale pour CodeCommit. Vous pouvez utiliser les demandes d'extraction avec d'autres types d'utilisateurs, y compris les utilisateurs à accès fédéré.

Pour obtenir des informations sur l'utilisation des autres aspects de votre référentiel dans CodeCommit, consultezUtilisation des référentiels,Utilisation des modèles de règles d'approbation,Utilisation de fichiers,Travailler avec des commits,Utilisation de branches, etUtilisation des préférences utilisateur.