Référence d'action des commandes - AWS CodePipeline

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.

Référence d'action des commandes

L'action Commandes vous permet d'exécuter des commandes shell dans une instance de calcul virtuelle. Lorsque vous exécutez l'action, les commandes spécifiées dans la configuration de l'action sont exécutées dans un conteneur distinct. Tous les artefacts spécifiés en tant qu'artefacts d'entrée pour une CodeBuild action sont disponibles dans le conteneur exécutant les commandes. Cette action vous permet de définir des commandes sans créer de CodeBuild projet au préalable. Pour plus d'informations, veuillez consulter les sections ActionDeclaration et OutputArtifact (français non garanti) de la Référence d'API AWS CodePipeline .

Important

Cette action utilise le CodeBuild calcul CodePipeline géré pour exécuter des commandes dans un environnement de génération. L'exécution de l'action des commandes entraînera des frais distincts. AWS CodeBuild

Note

L'action Commandes n'est disponible que pour les pipelines de type V2.

Considérations relatives à l'action Commandes

Les considérations suivantes s'appliquent à l'action Commandes.

  • L'action des commandes utilise CodeBuild des ressources similaires à l' CodeBuild action, tout en autorisant les commandes de l'environnement shell dans une instance de calcul virtuelle sans qu'il soit nécessaire d'associer ou de créer un projet de génération.

    Note

    L'exécution de l'action des commandes entraînera des frais distincts. AWS CodeBuild

  • Dans la mesure où l'action CodeBuild Commandes CodePipeline utilise des ressources, les builds exécutés par l'action seront attribués aux limites de build de votre compte dans CodeBuild. Les builds exécutés par l'action Commandes seront pris en compte dans les limites de build simultanées configurées pour ce compte.

  • Le délai d'expiration des builds avec l'action Commandes est de 55 minutes, selon les CodeBuild builds.

  • L'instance de calcul utilise un environnement de construction isolé dans CodeBuild.

    Note

    Comme l'environnement de construction isolé est utilisé au niveau du compte, une instance peut être réutilisée pour une autre exécution de pipeline.

  • Tous les formats sont pris en charge, à l'exception des formats multilignes. Vous devez utiliser le format d'une seule ligne lorsque vous entrez des commandes.

  • L'action des commandes n'est pas prise en charge pour les actions entre comptes ou entre régions.

  • Pour cette action, il CodePipeline assumera le rôle de service de pipeline et utilisera ce rôle pour autoriser l'accès aux ressources lors de l'exécution. Il est recommandé de configurer le rôle de service afin que les autorisations soient limitées au niveau de l'action.

  • Les autorisations ajoutées au rôle CodePipeline de service sont détaillées dansAjout d'autorisations au rôle de service CodePipeline.

  • Les autorisations nécessaires pour consulter les journaux dans la console sont détaillées dansAutorisations requises pour consulter les journaux de calcul dans la CodePipeline console.

  • Contrairement aux autres actions dans CodePipeline, vous ne définissez pas de champs dans la configuration des actions ; vous définissez les champs de configuration des actions en dehors de la configuration des actions.

Autorisations de politique des rôles de service

Lorsque l'action est CodePipeline exécutée, CodePipeline crée un groupe de journaux en utilisant le nom du pipeline comme suit. Cela vous permet de limiter les autorisations de journalisation des ressources en utilisant le nom du pipeline.

/aws/codepipeline/MyPipelineName

Si vous utilisez un rôle de service existant, pour utiliser l'action Commandes, vous devez ajouter les autorisations suivantes pour le rôle de service.

  • journaux : CreateLogGroup

  • journaux : CreateLogStream

  • journaux : PutLogEvents

Dans la déclaration de politique relative aux rôles de service, limitez les autorisations au niveau du pipeline, comme indiqué dans l'exemple suivant.

{ "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": [ "arn:aws:logs:*:YOUR_AWS_ACCOUNT_ID:log-group:/aws/codepipeline/YOUR_PIPELINE_NAME", "arn:aws:logs:*:YOUR_AWS_ACCOUNT_ID:log-group:/aws/codepipeline/YOUR_PIPELINE_NAME:*" ] }

Pour afficher les journaux dans la console à l'aide de la page de dialogue des détails de l'action, l'autorisation d'afficher les journaux doit être ajoutée au rôle de console. Pour plus d'informations, consultez l'exemple de politique d'autorisation de console dansAutorisations requises pour consulter les journaux de calcul dans la CodePipeline console.

Type d'action

  • Catégorie : Compute

  • Propriétaire : AWS

  • Fournisseur : Commands

  • Version : 1

Paramètres de configuration

Commandes

Obligatoire : oui

Vous pouvez fournir des commandes shell pour exécuter l'Commandsaction. Dans la console, les commandes sont entrées sur des lignes séparées. Dans la CLI, les commandes sont entrées sous forme de chaînes distinctes.

Note

Les formats multilignes ne sont pas pris en charge et un message d'erreur s'affichera. Le format d'une seule ligne doit être utilisé pour saisir des commandes dans le champ Commandes.

Les informations suivantes indiquent le calcul par défaut utilisé pour l'action Commandes. Pour plus d'informations, consultez la section Référence des modes et types de calcul de l'environnement de génération dans le guide de CodeBuild l'utilisateur.

  • CodeBuild image : aws/codebuild/amazonlinux 2-x86_64 standard : 5.0

  • Type de calcul : Linux Small

  • Valeur ComputeType de l'environnement : BUILD_ _SMALL GENERAL1

  • Valeur du type d'environnement : LINUX_CONTAINER

Variables de sortie

Obligatoire : non

Spécifiez les noms des variables de votre environnement que vous souhaitez exporter. Pour une référence des variables d' CodeBuild environnement, voir Variables d'environnement dans les environnements de construction dans le Guide de CodeBuild l'utilisateur.

Dépôt de

Obligatoire : non

Vous pouvez fournir les fichiers que vous souhaitez exporter en tant qu'artefacts de sortie pour l'action.

Le format pris en charge pour les fichiers est le même que pour les modèles de CodeBuild fichiers. Par exemple, entrez **/ pour tous les fichiers. Pour plus d'informations, reportez-vous à la section Référence des spécifications de construction CodeBuild dans le Guide de CodeBuild l'utilisateur.

La page d'action Modifier pour un nouveau pipeline avec l'action Commandes

Artefacts d'entrée

  • Nombre d'objets : 1 to 10

Artefacts de sortie

  • Nombre d'objets : 0 to 1

Déclaration d'action (exemple)

YAML
name: Commands_action actionTypeId: category: Compute owner: AWS provider: Commands version: '1' runOrder: 1 configuration: {} commands: - ls - echo hello - 'echo pipeline Execution Id is #{codepipeline.PipelineExecutionId}' outputArtifacts: - name: BuildArtifact files: - **/ inputArtifacts: - name: SourceArtifact outputVariables: - AWS_DEFAULT_REGION region: us-east-1 namespace: compute
JSON
{ "name": "Commands_action", "actionTypeId": { "category": "Compute", "owner": "AWS", "provider": "Commands", "version": "1" }, "runOrder": 1, "configuration": {}, "commands": [ "ls", "echo hello", "echo pipeline Execution Id is #{codepipeline.PipelineExecutionId}" ], "outputArtifacts": [ { "name": "BuildArtifact", "files": [ "**/" ] } ], "inputArtifacts": [ { "name": "SourceArtifact" } ], "outputVariables": [ "AWS_DEFAULT_REGION" ], "region": "us-east-1", "namespace": "compute" }

Les ressources connexes suivantes peuvent s'avérer utiles dans le cadre de l'utilisation de cette action.