

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.

# Démarrer un pipeline selon un calendrier
<a name="pipelines-trigger-source-schedule"></a>

Vous pouvez configurer une règle EventBridge pour démarrer un pipeline selon un calendrier. 

## Créez une EventBridge règle qui planifie le démarrage de votre pipeline (console)
<a name="pipelines-trigger-source-schedule-console"></a>

**Pour créer une EventBridge règle avec un calendrier comme source d'événement**

1. Ouvrez la EventBridge console Amazon à l'adresse [https://console.aws.amazon.com/events/](https://console.aws.amazon.com/events/).

1. Dans le panneau de navigation, choisissez **Rules**.

1. Choisissez **Créer une règle**, puis sous **Détails de la règle**, sélectionnez **Planifier**.

1. Configurez le programme à l'aide d'un taux ou d'une expression fixe. Pour plus d'informations, consultez [Expression de planification pour les règles](https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/ScheduledEvents.html).

1. Dans **Cibles**, sélectionnez **CodePipeline**.

1. Entrez l'ARN du pipeline pour l'exécution du pipeline pour ce calendrier.
**Note**  
Vous pouvez trouver l'ARN du pipeline sous **Paramètres** dans la console. Consultez [Afficher l'ARN du pipeline et l'ARN du rôle de service (console)](pipelines-settings-console.md).

1. Choisissez l'une des options suivantes pour créer ou spécifier un rôle de service IAM autorisant EventBridge l'appel de la cible associée à votre EventBridge règle (dans ce cas, la cible est CodePipeline). 
   + Choisissez **Créer un nouveau rôle pour cette ressource spécifique** afin de créer un rôle de service qui accorde EventBridge les autorisations nécessaires pour démarrer les exécutions de votre pipeline.
   + Choisissez **Utiliser le rôle existant** pour saisir un rôle de service qui accorde EventBridge les autorisations nécessaires pour démarrer les exécutions de votre pipeline.

1. Choisissez **Configure details** (Configurer les détails).

1. Sur la page **Configurer les détails de la règle**, entrez un nom et une description pour la règle, puis cochez **État** pour activer la règle.

1. Si la règle vous convient, choisissez **Créer une règle**.

## Créez une EventBridge règle qui planifie le démarrage de votre pipeline (CLI)
<a name="pipelines-trigger-source-schedule-cli"></a>

 

Pour utiliser le AWS CLI pour créer une règle, appelez la **put-rule** commande en spécifiant :
+ Un nom qui identifie de façon unique la règle que vous créez. Ce nom doit être unique pour tous les pipelines que vous créez CodePipeline associés à votre AWS compte.
+ L'expression de planification pour la règle.

**Pour créer une EventBridge règle avec un calendrier comme source d'événement**

1. Appelez la commande **put-rule** et incluez les paramètres `--name ` et `--schedule-expression`.

   Exemples :

   L'exemple de commande suivant **--schedule-expression** permet de créer une règle appelée `MyRule2` qui filtre EventBridge selon un calendrier.

   ```
   aws events put-rule --schedule-expression 'cron(15 10 ? * 6L 2002-2005)' --name MyRule2
   ```

1. Pour l'ajouter CodePipeline en tant que cible, appelez la **put-targets** commande et incluez les paramètres suivants :
   + Le paramètre `--rule` s'utilise avec le la règle `rule_name` que vous avez créée à l'aide de la commande **put-rule**. 
   + Le paramètre `--targets` s'utilise avec l'ID de liste `Id` de la cible figurant dans la liste des cibles et l'`ARN` du pipeline cible.

   L'exemple de commande suivant spécifie que pour la règle appelée `MyCodeCommitRepoRule`, l'`Id` cible est composé du numéro un, ce qui indique qu'il s'agit de la règle 1 dans une liste de cibles pour la règle. L'exemple de commande spécifie également un exemple d'`ARN` pour le pipeline. Le pipeline démarre lorsque des modifications sont effectuées dans le référentiel.

   ```
   aws events put-targets --rule MyCodeCommitRepoRule --targets Id=1,Arn=arn:aws:codepipeline:us-west-2:80398EXAMPLE:TestPipeline
   ```

1. Accordez EventBridge des autorisations permettant CodePipeline d'invoquer la règle. Pour plus d'informations, consultez [Utiliser des politiques basées sur les ressources pour Amazon](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-use-resource-based.html). EventBridge

   1. Utilisez l'exemple suivant pour créer la stratégie d'approbation qui permet à EventBridge d'assumer le rôle de service. Nommez-la `trustpolicyforEB.json`.

------
#### [ JSON ]

****  

      ```
      {
          "Version":"2012-10-17",		 	 	 
          "Statement": [
              {
                  "Effect": "Allow",
                  "Principal": {
                      "Service": "events.amazonaws.com"
                  },
                  "Action": "sts:AssumeRole"
              }
          ]
      }
      ```

------

   1. Utilisez la commande suivante pour créer le rôle `Role-for-MyRule` et attachez la stratégie d'approbation.

      ```
      aws iam create-role --role-name Role-for-MyRule --assume-role-policy-document file://trustpolicyforEB.json
      ```

   1. Créez le JSON de stratégie d'autorisations comme indiqué dans cet exemple pour le pipeline nommé `MyFirstPipeline`. Nommez la stratégie d'autorisations `permissionspolicyforEB.json`.

------
#### [ JSON ]

****  

      ```
      {
          "Version":"2012-10-17",		 	 	 
          "Statement": [
              {
                  "Effect": "Allow",
                  "Action": [
                      "codepipeline:StartPipelineExecution"
                  ],
                  "Resource": [
                      "arn:aws:codepipeline:us-west-2:111122223333:MyFirstPipeline"
                  ]
              }
          ]
      }
      ```

------

   1. Utilisez la commande suivante pour attacher la nouvelle stratégie d'autorisations `CodePipeline-Permissions-Policy-for-EB` au rôle `Role-for-MyRule` que vous avez créé.

      ```
      aws iam put-role-policy --role-name Role-for-MyRule --policy-name CodePipeline-Permissions-Policy-For-EB --policy-document file://permissionspolicyforCWE.json
      ```