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.
Rubriques
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
-
Créez une politique pour le rôle, comme suit :
-
Connectez-vous à AWS.
Ouvrez la console IAM à l’adresse https://console.aws.amazon.com/iam/
. -
Dans le panneau de navigation, choisissez Politiques.
-
Sélectionnez Create policy (Créer une politique).
-
Cliquez sur l'onglet JSON.
-
Supprimez le code existant.
-
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": "*"
-
Choisissez Suivant : Balises.
-
Choisissez Suivant : Vérification.
-
Dans Nom, entrez :
codecatalyst-s3-build-policy
-
Choisissez Créer une politique.
Vous venez de créer une politique d'autorisation.
-
-
Créez le rôle de build, comme suit :
-
Dans le volet de navigation, sélectionnez Rôles, puis Créer un rôle.
-
Choisissez Politique de confiance personnalisée.
-
Supprimez la politique de confiance personnalisée existante.
-
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" } ] }
-
Choisissez Suivant.
-
Dans Politiques d'autorisations, recherchez
codecatalyst-s3-build-policy
et cochez sa case. -
Choisissez Suivant.
-
Dans Nom du rôle, entrez :
codecatalyst-s3-build-role
-
Pour la description du rôle, entrez :
CodeCatalyst build role
-
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
Ouvrez la console Amazon S3 à l'adresse https://console.aws.amazon.com/s3/
. -
Dans le volet principal, choisissez Create bucket.
-
Dans le champ Nom du compartiment, entrez :
codecatalyst-artifact-bucket
-
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.
-
Au bas de la page, choisissez Create bucket.
-
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
Ouvrez la CodeCatalyst console à l'adresse https://codecatalyst.aws/
. -
Accédez à votre projet,
codecatalyst-artifact-project
. -
Dans le volet de navigation, choisissez Code, puis sélectionnez Référentiels sources.
-
Choisissez Ajouter un référentiel, puis sélectionnez Créer un référentiel.
-
Dans Nom du référentiel, entrez :
codecatalyst-artifact-source-repository
-
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'GenerateFiles
action 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'GenerateFiles
action terminée, l'Upload
action exécute la AWS CLI commandeaws s3 sync
pour télécharger les fichiers danscodecatalystArtifact
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
-
Dans le volet de navigation, choisissez CI/CD, puis Workflows.
-
Choisissez Créer un flux de travail.
-
Supprimez l'YAMLexemple de code.
-
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 :
-
codecatalyst-artifact-environment
avec le nom de l'environnement dans lequel vous l'avez crééPrérequis. -
codecatalyst-account-connection
avec le nom de la connexion au compte que vous avez créée dansPrérequis. -
codecatalyst-s3-build-role
avec le nom du rôle de build que vous avez créé dansÉtape 1 : Création d'un AWS rôle. -
codecatalyst-artifact-bucket
avec le nom de l'Amazon S3 dans lequel vous l'avez crééÉtape 2 : Création d'un compartiment Amazon S3.
Pour plus d'informations sur les propriétés de ce fichier, consultez leCréez et testez des actions YAML.
-
-
(Facultatif) Choisissez Valider pour vous assurer que le YAML code est valide avant de le valider.
-
Choisissez Commit (Valider).
-
Dans la boîte de dialogue du flux de travail de validation, entrez ce qui suit :
-
Pour le nom du fichier de flux de travail, laissez la valeur par défaut,
codecatalyst-artifact-workflow
. -
Pour le message de validation, entrez :
add initial workflow file
-
Pour Repository, choisissez codecatalyst-artifact-source-repository.
-
Pour Nom de la branche, choisissez main.
-
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
-
Dans le volet de navigation, choisissez CI/CD, puis Workflows.
-
Choisissez le flux de travail que vous venez de créer :
codecatalyst-artifact-workflow
. -
Choisissez GenerateFilesde voir la progression de la première action de construction.
-
Choisissez Upload pour voir la progression de la deuxième action de build.
-
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'codecatalystArtifact
artefact. 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
Ouvrez la CodeCatalyst console à l'adresse https://codecatalyst.aws/
. -
Supprimez le référentiel
codecatalyst-artifact-source-repository
source. -
Supprimez le
codecatalyst-artifact-workflow
flux de travail.
Pour nettoyer AWS
-
Nettoyez dans Amazon S3, comme suit :
Ouvrez la console Amazon S3 à l'adresse https://console.aws.amazon.com/s3/
. -
Supprimez les fichiers du
codecatalyst-artifact-bucket
compartiment. -
Supprimez le
codecatalyst-artifact-bucket
compartiment.
-
Nettoyez en IAM procédant comme suit :
Ouvrez la console IAM à l’adresse https://console.aws.amazon.com/iam/
. -
Supprimez la
codecatalyst-s3-build-policy
. -
Supprimez la
codecatalyst-s3-build-role
.