Tutoriel : télécharger des artefacts sur Amazon S3 - 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 : télécharger des artefacts sur Amazon S3

Dans ce didacticiel, vous apprendrez à télécharger des artefacts dans un compartiment Amazon S3 à l'aide d'un CodeCatalyst flux de travail Amazon qui inclut quelques actions de génération. Ces actions sont exécutées en série lorsque le flux de travail démarre. La première action de construction génère deux fichiers Hello.txt et Goodbye.txt les regroupe dans un artefact de construction. La deuxième action de génération télécharge l'artefact sur Amazon S3. Vous allez configurer le flux de travail pour qu'il s'exécute chaque fois que vous envoyez un commit à votre dépôt source.

Prérequis

Avant de commencer, vous avez besoin de ce qui suit :

  • Vous avez besoin d'un CodeCatalyst espace avec un AWS compte connecté. Pour plus d’informations, consultez Création d'un espace.

  • Dans votre espace, vous avez besoin d'un projet vide appelé :

    codecatalyst-artifact-project

    Utilisez l'option Partir de zéro pour créer ce projet.

    Pour plus d’informations, consultez Création d'un projet vide dans Amazon CodeCatalyst.

  • Dans votre projet, vous avez besoin d'un CodeCatalyst environnement appelé :

    codecatalyst-artifact-environment

    Configurez cet environnement comme suit :

    • Choisissez n'importe quel type, tel que Développement.

    • AWS Connectez-y votre compte.

    • Pour le IAMrôle par défaut, choisissez n'importe quel rôle. Vous spécifierez un autre rôle ultérieurement.

    Pour plus d’informations, consultez Déploiement dans Comptes AWS et VPCs.

Étape 1 : Création d'un AWS rôle

Au cours de cette étape, vous créez un AWS IAM rôle que vous attribuerez ultérieurement à l'action de création dans votre flux de travail. Ce rôle accorde à l'action de CodeCatalyst création l'autorisation d'accéder à votre AWS compte et d'écrire sur Amazon S3 où votre artefact sera stocké. Ce rôle s'appelle le rôle Build.

Note

Si vous possédez déjà un rôle de build que vous avez créé pour un autre didacticiel, vous pouvez également l'utiliser pour ce didacticiel. Assurez-vous simplement qu'il dispose des autorisations et de la politique de confiance indiquées dans la procédure suivante.

Pour plus d'informations sur IAM les rôles, voir IAMles rôles dans le Guide de AWS AWS Identity and Access Management l'utilisateur.

Pour créer un rôle de build
  1. Créez une politique pour le rôle, comme suit :

    1. Connectez-vous à AWS.

    2. Ouvrez la console IAM à l’adresse https://console.aws.amazon.com/iam/.

    3. Dans le panneau de navigation, choisissez Politiques.

    4. Sélectionnez Create policy (Créer une politique).

    5. Cliquez sur l'onglet JSON.

    6. Supprimez le code existant.

    7. Collez le code suivant :

      { "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:ListBucket" ], "Resource": "*" } ] }
      Note

      La première fois que le rôle est utilisé pour exécuter des actions de flux de travail, utilisez le caractère générique dans la déclaration de politique de ressources, puis définissez la stratégie avec le nom de la ressource une fois celle-ci disponible.

      "Resource": "*"
    8. Choisissez Suivant : Balises.

    9. Choisissez Suivant : Vérification.

    10. Dans Nom, entrez :

      codecatalyst-s3-build-policy
    11. Choisissez Créer une politique.

      Vous venez de créer une politique d'autorisation.

  2. Créez le rôle de build, comme suit :

    1. Dans le volet de navigation, sélectionnez Rôles, puis Créer un rôle.

    2. Choisissez Politique de confiance personnalisée.

    3. Supprimez la politique de confiance personnalisée existante.

    4. Ajoutez la politique de confiance personnalisée suivante :

      { "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": [ "codecatalyst-runner.amazonaws.com", "codecatalyst.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
    5. Choisissez Suivant.

    6. Dans Politiques d'autorisations, recherchez codecatalyst-s3-build-policy et cochez sa case.

    7. Choisissez Suivant.

    8. Dans Nom du rôle, entrez :

      codecatalyst-s3-build-role
    9. Pour la description du rôle, entrez :

      CodeCatalyst build role
    10. Sélectionnez Créer un rôle.

    Vous avez maintenant créé un rôle de build avec une politique de confiance et une politique d'autorisations.

Étape 2 : Création d'un compartiment Amazon S3

Au cours de cette étape, vous créez un compartiment Amazon S3 dans lequel les Goodbye.txt artefacts Hello.txt et seront chargés.

Pour créer un compartiment Amazon S3
  1. Ouvrez la console Amazon S3 à l'adresse https://console.aws.amazon.com/s3/.

  2. Dans le volet principal, choisissez Create bucket.

  3. Dans le champ Nom du compartiment, entrez :

    codecatalyst-artifact-bucket
  4. Choisissez une région dans Région AWS . Ce didacticiel suppose que vous avez choisi US West (Oregon) us-west-2. Pour plus d'informations sur les régions prises en charge par Amazon S3, consultez la section Points de terminaison et quotas Amazon Simple Storage Service dans le Références générales AWS.

  5. Au bas de la page, choisissez Create bucket.

  6. Copiez le nom du bucket que vous venez de créer, par exemple :

    codecatalyst-artifact-bucket

Vous venez de créer un bucket appelé codecatalyst-artifact-bucket dans la région us-west-2 des États-Unis Ouest (Oregon).

Étape 3 : Création d'un référentiel source

Au cours de cette étape, vous créez un référentiel source dans CodeCatalyst. Ce référentiel est utilisé pour stocker le fichier de définition du flux de travail du didacticiel.

Pour plus d'informations sur les référentiels sources, consultezCréation d'un référentiel source.

Pour créer un référentiel de sources
  1. Ouvrez la CodeCatalyst console à l'adresse https://codecatalyst.aws/.

  2. Accédez à votre projet,codecatalyst-artifact-project.

  3. Dans le volet de navigation, choisissez Code, puis sélectionnez Référentiels sources.

  4. Choisissez Ajouter un référentiel, puis sélectionnez Créer un référentiel.

  5. Dans Nom du référentiel, entrez :

    codecatalyst-artifact-source-repository
  6. Choisissez Créer.

Vous venez de créer un dépôt appelécodecatalyst-artifact-source-repository.

Étape 4 : Création d'un flux de travail

Au cours de cette étape, vous allez créer un flux de travail composé des éléments de base suivants qui s'exécutent de manière séquentielle :

  • Un déclencheur : ce déclencheur lance automatiquement l'exécution du flux de travail lorsque vous apportez une modification à votre référentiel source. Pour plus d'informations sur les déclencheurs, consultezDémarrage d'un flux de travail exécuté automatiquement à l'aide de déclencheurs.

  • Une action de génération appelée GenerateFiles — Au moment du déclenchement, l'GenerateFilesaction crée deux fichiersGoodbye.txt, Hello.txt puis les regroupe dans un artefact de sortie appelécodecatalystArtifact.

  • Une autre action de Upload génération appelée — Une fois l'GenerateFilesaction terminée, l'Uploadaction exécute la AWS CLI commande aws s3 sync pour télécharger les fichiers dans codecatalystArtifact et dans votre référentiel source vers votre compartiment Amazon S3. Il AWS CLI est préinstallé et préconfiguré sur la plate-forme CodeCatalyst informatique, vous n'avez donc pas besoin de l'installer ou de le configurer.

    Pour plus d'informations sur le logiciel préinstallé sur la plate-forme de CodeCatalyst calcul, consultezSpécification des images de l'environnement d'exécution. Pour plus d'informations sur AWS CLI la aws s3 sync commande, voir sync dans le manuel de référence des AWS CLI commandes.

Pour plus d'informations sur l'action de génération, consultezConstruire avec des flux de travail.

Pour créer un flux de travail
  1. Dans le volet de navigation, choisissez CI/CD, puis Workflows.

  2. Choisissez Créer un flux de travail.

  3. Supprimez l'YAMLexemple de code.

  4. Ajoutez le YAML code suivant :

    Note

    Dans le YAML code qui suit, vous pouvez omettre la Connections: section si vous le souhaitez. Si vous omettez cette section, vous devez vous assurer que le rôle spécifié dans le champ IAMRôle par défaut de votre environnement inclut les autorisations et les politiques de confiance décrites dansÉtape 1 : Création d'un AWS rôle. Pour plus d'informations sur la configuration d'un environnement doté d'un IAM rôle par défaut, consultezCréation d'un environnement.

    Name: codecatalyst-artifact-workflow SchemaVersion: 1.0 Triggers: - Type: Push Branches: - main Actions: GenerateFiles: Identifier: aws/build@v1 Configuration: Steps: # Create the output files. - Run: echo "Hello, World!" > "Hello.txt" - Run: echo "Goodbye!" > "Goodbye.txt" Outputs: Artifacts: - Name: codecatalystArtifact Files: - "**/*" Upload: Identifier: aws/build@v1 DependsOn: - GenerateFiles Environment: Name: codecatalyst-artifact-environment Connections: - Name: codecatalyst-account-connection Role: codecatalyst-s3-build-role Inputs: Artifacts: - codecatalystArtifact Configuration: Steps: # Upload the output artifact to the S3 bucket. - Run: aws s3 sync . s3://codecatalyst-artifact-bucket

    Dans le code ci-dessus, remplacez :

    Pour plus d'informations sur les propriétés de ce fichier, consultez leCréez et testez des actions YAML.

  5. (Facultatif) Choisissez Valider pour vous assurer que le YAML code est valide avant de le valider.

  6. Choisissez Commit (Valider).

  7. Dans la boîte de dialogue du flux de travail de validation, entrez ce qui suit :

    1. Pour le nom du fichier de flux de travail, laissez la valeur par défaut,codecatalyst-artifact-workflow.

    2. Pour le message de validation, entrez :

      add initial workflow file
    3. Pour Repository, choisissez codecatalyst-artifact-source-repository.

    4. Pour Nom de la branche, choisissez main.

    5. Choisissez Commit (Valider).

    Vous venez de créer un flux de travail. L'exécution d'un flux de travail démarre automatiquement en raison du déclencheur défini en haut du flux de travail. Plus précisément, lorsque vous avez validé (et transféré) le codecatalyst-artifact-workflow.yaml fichier dans votre référentiel source, le déclencheur a lancé l'exécution du flux de travail.

Pour consulter le flux de travail en cours d'exécution
  1. Dans le volet de navigation, choisissez CI/CD, puis Workflows.

  2. Choisissez le flux de travail que vous venez de créer :codecatalyst-artifact-workflow.

  3. Choisissez GenerateFilesde voir la progression de la première action de construction.

  4. Choisissez Upload pour voir la progression de la deuxième action de build.

  5. Lorsque l'action Charger est terminée, procédez comme suit :

    • Si l'exécution du flux de travail a réussi, passez à la procédure suivante.

    • Si l'exécution du flux de travail a échoué, choisissez Logs pour résoudre le problème.

Étape 5 : Vérifiez les résultats

Une fois le flux de travail exécuté, accédez au service Amazon S3 et examinez votre codecatalyst-artifact-bucket seau. Il devrait désormais inclure les fichiers et dossiers suivants :

. |— .aws/ |— .git/ |Goodbye.txt |Hello.txt |REAME.md

Les Hello.txt fichiers Goodbye.txt et ont été téléchargés car ils faisaient partie de l'codecatalystArtifactartefact. Les README.md fichiers .aws/.git/,, et ont été chargés car ils se trouvaient dans votre référentiel source.

Nettoyage

Faites le ménage CodeCatalyst et évitez AWS d'être facturé pour ces services.

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

  2. Supprimez le référentiel codecatalyst-artifact-source-repository source.

  3. Supprimez le codecatalyst-artifact-workflow flux de travail.

Pour nettoyer AWS
  1. Nettoyez dans Amazon S3, comme suit :

    1. Ouvrez la console Amazon S3 à l'adresse https://console.aws.amazon.com/s3/.

    2. Supprimez les fichiers du codecatalyst-artifact-bucket compartiment.

    3. Supprimez le codecatalyst-artifact-bucket compartiment.

  2. Nettoyez en IAM procédant comme suit :

    1. Ouvrez la console IAM à l’adresse https://console.aws.amazon.com/iam/.

    2. Supprimez la codecatalyst-s3-build-policy.

    3. Supprimez la codecatalyst-s3-build-role.