

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.

# Rubriques avancées
<a name="advanced-topics"></a>

Cette section inclut plusieurs rubriques avancées qui s'avèrent utiles pour des utilisateurs AWS CodeBuild plus expérimentés.

**Topics**
+ [Permettre aux utilisateurs d'interagir avec CodeBuild](setting-up-service-permissions-group.md)
+ [CodeBuild Autoriser l'interaction avec d'autres AWS services](setting-up-service-role.md)
+ [Chiffrez les résultats de construction à l'aide d'une clé gérée par le client](setting-up-kms.md)
+ [Interagissez à CodeBuild l'aide du AWS CLI](setting-up-cli.md)
+ [Référence de ligne de commande pour AWS CodeBuild](cmd-ref.md)
+ [AWS SDKs et référence d'outils pour AWS CodeBuild](sdk-ref.md)
+ [Utilisation de ce service avec un AWS SDK](sdk-general-information-section.md)
+ [Spécifiez le AWS CodeBuild point de terminaison](endpoint-specify.md)
+ [Utilisez AWS CodeBuild with AWS CodePipeline pour tester le code et exécuter des builds](how-to-create-pipeline.md)
+ [Utilisation AWS CodeBuild avec Codecov](codecov-integration.md)
+ [À utiliser AWS CodeBuild avec Jenkins](jenkins-plugin.md)
+ [Utilisation AWS CodeBuild avec des applications sans serveur](serverless-applications.md)
+ [Notices émanant de tiers AWS CodeBuild pour Windows](notice.md)
+ [Utiliser des clés de CodeBuild condition comme variables de rôle de service IAM pour contrôler l'accès au build](permissions-conditionkeys-variables.md)
+ [AWS CodeBuild clés de condition](action-context-keys.md)

# Permettre aux utilisateurs d'interagir avec CodeBuild
<a name="setting-up-service-permissions-group"></a>

Si vous suivez les étapes décrites [Mise en route à l'aide de la console](getting-started-overview.md#getting-started) pour y accéder AWS CodeBuild pour la première fois, vous n'avez probablement pas besoin des informations contenues dans cette rubrique. Toutefois, au fur et à mesure de votre utilisation CodeBuild, vous souhaiterez peut-être, par exemple, donner aux autres utilisateurs et groupes de votre organisation la possibilité d'interagir avec eux CodeBuild.

Pour permettre à un utilisateur ou à un groupe IAM d'interagir avec AWS CodeBuild, vous devez lui accorder des autorisations d'accès à CodeBuild. Cette section décrit comment procéder avec la console IAM ou le AWS CLI.

Si vous souhaitez accéder CodeBuild à votre compte AWS root (ce n'est pas recommandé) ou à l'aide d'un utilisateur administrateur de votre AWS compte, vous n'avez pas besoin de suivre ces instructions.

Pour plus d'informations sur les comptes AWS root et les utilisateurs administrateurs, voir [L'utilisateur Compte AWS root](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html) et [Création de votre premier utilisateur et groupe Compte AWS root](https://docs.aws.amazon.com/IAM/latest/UserGuide/getting-started_create-admin-group.html) dans le *guide de l'utilisateur*.<a name="setting-up-service-permissions-group-console"></a>

**Pour ajouter des autorisations CodeBuild d'accès à un groupe ou à un utilisateur IAM (console)**

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

   Vous devez déjà vous être connecté au en AWS Management Console utilisant l'une des méthodes suivantes :
   + Votre compte AWS root. Ceci n'est pas recommandé. Pour plus d'informations, voir [L'utilisateur Compte AWS root](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html) dans le *guide de l'utilisateur*.
   + Utilisateur administrateur de votre AWS compte. Pour plus d'informations, consultez la section [Création de votre premier utilisateur et groupe Compte AWS root](https://docs.aws.amazon.com/IAM/latest/UserGuide/getting-started_create-admin-group.html) dans le *guide de l'utilisateur*.
   + Un utilisateur de votre AWS compte autorisé à effectuer les actions minimales suivantes :

     ```
     iam:AttachGroupPolicy
     iam:AttachUserPolicy
     iam:CreatePolicy
     iam:ListAttachedGroupPolicies
     iam:ListAttachedUserPolicies
     iam:ListGroups
     iam:ListPolicies
     iam:ListUsers
     ```

     Pour plus d'informations, consultez la section [Présentation des politiques IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html) dans le *guide de l'utilisateur*.

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

1. Pour ajouter un ensemble personnalisé d'autorisations d' AWS CodeBuild accès à un groupe IAM ou à un utilisateur IAM, passez à l'étape 4 de cette procédure.

   Pour ajouter un ensemble d'autorisations d' CodeBuild accès par défaut à un groupe IAM ou à un utilisateur IAM, choisissez **Type de stratégie**, **AWS Géré**, puis procédez comme suit :
   + Pour ajouter des autorisations d'accès complètes à CodeBuild, cochez la case nommée **AWSCodeBuildAdminAccess**, choisissez **Actions de politique**, puis choisissez **Joindre**. Cochez la case à côté du groupe ou de l'utilisateur IAM cible, puis choisissez **Attach Policy**. **Répétez cette opération pour les politiques nommées **AmazonS3 ReadOnlyAccess et IAMFull Access**.**
   + Pour ajouter des autorisations d'accès CodeBuild pour tout sauf pour l'administration du projet de création, cochez la case nommée **AWSCodeBuildDeveloperAccess**, choisissez **Actions politiques**, puis choisissez **Joindre**. Cochez la case à côté du groupe ou de l'utilisateur IAM cible, puis choisissez **Attach Policy**. Répétez cette opération pour la politique nommée **AmazonS3 ReadOnlyAccess**.
   + Pour ajouter des autorisations d'accès en lecture seule à CodeBuild, cochez les cases nommées. **AWSCodeBuildReadOnlyAccess** Cochez la case à côté du groupe ou de l'utilisateur IAM cible, puis choisissez **Attach Policy**. Répétez cette opération pour la politique nommée **AmazonS3 ReadOnlyAccess**.

   Vous avez maintenant ajouté un ensemble d'autorisations d' CodeBuild accès par défaut à un groupe ou à un utilisateur IAM. Ignorez les autres étapes de cette procédure.

1. Choisissez **Create Policy** (Créer une politique).

1. Sur la page **Créer une stratégie**, choisissez **Sélectionner** en regard de **Créer votre propre stratégie**.

1. Sur la page **Review Policy (Examiner la stratégie)**, pour **Policy Name (Nom de la stratégie)**, saisissez un nouveau nom de stratégie (par exemple, **CodeBuildAccessPolicy**). Si vous choisissez un autre nom, veillez à l'utiliser tout au long de cette procédure.

1. Dans **Policy Document (Document de stratégie)**, saisissez ce qui suit, puis sélectionnez **Create Policy (Créer une stratégie)**.

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "CodeBuildAccessPolicy",
               "Effect": "Allow",
               "Action": [
                   "codebuild:*"
               ],
               "Resource": "*"
           },
           {
               "Sid": "CodeBuildRolePolicy",
               "Effect": "Allow",
               "Action": [
                   "iam:PassRole"
               ],
               "Resource": "arn:aws:iam::111122223333:role/role-name"
           },
           {
               "Sid": "CloudWatchLogsAccessPolicy",
               "Effect": "Allow",
               "Action": [
                   "logs:FilterLogEvents",
                   "logs:GetLogEvents"
               ],
               "Resource": "*"
           },
           {
               "Sid": "S3AccessPolicy",
               "Effect": "Allow",
               "Action": [
                   "s3:CreateBucket",
                   "s3:GetObject",
                   "s3:List*",
                   "s3:PutObject"
               ],
               "Resource": "*"
           },
           {
               "Sid": "S3BucketIdentity",
               "Effect": "Allow",
               "Action": [
                   "s3:GetBucketAcl",
                   "s3:GetBucketLocation"
               ],
               "Resource": "*"
           }
       ]
   }
   ```

------
**Note**  
Cette politique permet d'accéder à toutes les CodeBuild actions et à un nombre potentiellement important de AWS ressources. Pour restreindre les autorisations à des CodeBuild actions spécifiques, modifiez la valeur de `codebuild:*` dans la déclaration CodeBuild de politique. Pour de plus amples informations, veuillez consulter [Gestion des identités et des accès](auth-and-access-control.md). Pour restreindre l'accès à des AWS ressources spécifiques, modifiez la valeur de l'`Resource`objet. Pour de plus amples informations, veuillez consulter [Gestion des identités et des accès](auth-and-access-control.md).

1. Dans le volet de navigation, choisissez **Groupes** ou **Utilisateurs**.

1. Dans la liste des groupes ou des utilisateurs, choisissez le nom du groupe IAM ou de l'utilisateur IAM auquel vous souhaitez ajouter des autorisations d' CodeBuild accès.

1. Pour un groupe, sur la page des paramètres du groupe, dans l'onglet **Permissions (Autorisations)**, développez **Managed Policies (Stratégies gérées)**, puis choisissez **Attach Policy (Attacher une stratégie)**.

   Pour un utilisateur, sur la page des paramètres de l'utilisateur, dans l'onglet **Autorisations**, choisissez **Ajouter des autorisations**.

1. Pour un groupe, sur la page **Joindre une politique**, sélectionnez **CodeBuildAccessPolicy**, puis choisissez **Attacher une politique**.

   Pour un utilisateur, sur la page **Ajouter des autorisations**, choisissez **Joindre directement les politiques existantes**. Sélectionnez **CodeBuildAccessPolicy**, choisissez **Suivant : Révision**, puis choisissez **Ajouter des autorisations**.<a name="setting-up-service-permissions-group-cli"></a>

**Pour ajouter des autorisations CodeBuild d'accès à un groupe ou à un utilisateur IAM ()AWS CLI**

1. Assurez-vous d'avoir configuré la clé AWS CLI d' AWS accès et la clé d'accès AWS secrète correspondant à l'une des entités IAM, comme décrit dans la procédure précédente. Pour plus d'informations, consultez [Préparation de l'installation de l' AWS Command Line Interface](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-set-up.html) dans le *Guide de l'utilisateur AWS Command Line Interface *.

1. Pour ajouter un ensemble personnalisé d'autorisations d' AWS CodeBuild accès à un groupe ou à un utilisateur IAM, passez à l'étape 3 de cette procédure.

   Pour ajouter un ensemble d'autorisations d' CodeBuild accès par défaut à un groupe ou à un utilisateur IAM, procédez comme suit :

   Exécutez l'une des commandes suivantes, selon que vous souhaitez ajouter des autorisations à un groupe ou à un utilisateur IAM :

   ```
   aws iam attach-group-policy --group-name group-name --policy-arn policy-arn
   
   aws iam attach-user-policy --user-name user-name --policy-arn policy-arn
   ```

   Vous devez exécuter la commande trois fois, en *user-name* remplaçant *group-name* ou par le nom du groupe IAM ou le nom d'utilisateur, et en remplaçant *policy-arn* une fois pour chacune des politiques Amazon Resource Names (ARNs) suivantes : 
   + Pour ajouter des autorisations d'accès complètes à CodeBuild, appliquez la politique suivante ARNs :
     + `arn:aws:iam::aws:policy/AWSCodeBuildAdminAccess`
     + `arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess`
     + `arn:aws:iam::aws:policy/IAMFullAccess`
   + Pour ajouter des autorisations d'accès CodeBuild pour tout sauf pour l'administration du projet de build, appliquez la politique suivante ARNs :
     + `arn:aws:iam::aws:policy/AWSCodeBuildDeveloperAccess`
     + `arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess`
   + Pour ajouter des autorisations d'accès en lecture seule à CodeBuild, appliquez la politique suivante : ARNs
     + `arn:aws:iam::aws:policy/AWSCodeBuildReadOnlyAccess`
     + `arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess`

   Vous avez maintenant ajouté un ensemble d'autorisations d' CodeBuild accès par défaut à un groupe ou à un utilisateur IAM. Ignorez les autres étapes de cette procédure.

1. Dans un répertoire vide du poste de travail local ou de l'instance où le AWS CLI est installé, créez un fichier nommé `put-group-policy.json` ou`put-user-policy.json`. Si vous choisissez un autre nom de fichier, veillez à l'utiliser tout au long de cette procédure.

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "CodeBuildAccessPolicy",
               "Effect": "Allow",
               "Action": [
                   "codebuild:*"
               ],
               "Resource": "*"
           },
           {
               "Sid": "CodeBuildRolePolicy",
               "Effect": "Allow",
               "Action": [
                   "iam:PassRole"
               ],
               "Resource": "arn:aws:iam::111122223333:role/role-name"
           },
           {
               "Sid": "CloudWatchLogsAccessPolicy",
               "Effect": "Allow",
               "Action": [
                   "logs:FilterLogEvents",
                   "logs:GetLogEvents"
               ],
               "Resource": "*"
           },
           {
               "Sid": "S3AccessPolicy",
               "Effect": "Allow",
               "Action": [
                   "s3:CreateBucket",
                   "s3:GetObject",
                   "s3:List*",
                   "s3:PutObject"
               ],
               "Resource": "*"
           },
           {
               "Sid": "S3BucketIdentity",
               "Effect": "Allow",
               "Action": [
                   "s3:GetBucketAcl",
                   "s3:GetBucketLocation"
               ],
               "Resource": "*"
           }
       ]
   }
   ```

------
**Note**  
Cette politique permet d'accéder à toutes les CodeBuild actions et à un nombre potentiellement important de AWS ressources. Pour restreindre les autorisations à des CodeBuild actions spécifiques, modifiez la valeur de `codebuild:*` dans la déclaration CodeBuild de politique. Pour de plus amples informations, veuillez consulter [Gestion des identités et des accès](auth-and-access-control.md). Pour restreindre l'accès à des AWS ressources spécifiques, modifiez la valeur de l'`Resource`objet associé. Pour plus d'informations, consultez [Gestion des identités et des accès](auth-and-access-control.md) ou la documentation de sécurité du service AWS spécifique.

1. Placez-vous dans le répertoire dans lequel vous avez enregistré le fichier, puis exécutez l'une des commandes suivantes. Vous pouvez utiliser des valeurs différentes pour `CodeBuildGroupAccessPolicy` et `CodeBuildUserAccessPolicy`. Si vous utilisez des valeurs différentes, substituez-les ici.

   Pour un groupe IAM :

   ```
   aws iam put-group-policy --group-name group-name --policy-name CodeBuildGroupAccessPolicy --policy-document file://put-group-policy.json
   ```

   Pour un utilisateur  :

   ```
   aws iam put-user-policy --user-name user-name --policy-name CodeBuildUserAccessPolicy --policy-document file://put-user-policy.json
   ```

   Dans les commandes précédentes, remplacez *group-name* ou *user-name* par le nom du groupe ou de l'utilisateur IAM cible.

# CodeBuild Autoriser l'interaction avec d'autres AWS services
<a name="setting-up-service-role"></a>

Si vous suivez les étapes décrites [Mise en route à l'aide de la console](getting-started-overview.md#getting-started) pour y accéder AWS CodeBuild pour la première fois, vous n'avez probablement pas besoin des informations contenues dans cette rubrique. Cependant, au fur et à mesure que vous continuez à utiliser CodeBuild, vous souhaiterez peut-être faire des choses telles que CodeBuild autoriser l'interaction avec d'autres AWS services.

 CodeBuild Pour pouvoir interagir avec les AWS services dépendants en votre nom, vous avez besoin d'un rôle AWS CodeBuild de service. Vous pouvez créer un rôle CodeBuild de service à l'aide des AWS CodePipeline consoles CodeBuild or. Pour plus d'informations, consultez :
+ [Création d'un projet de génération (console)](create-project.md#create-project-console)
+ [Créez un pipeline qui utilise CodeBuild (CodePipeline console)](how-to-create-pipeline-console.md)
+ [Ajouter une CodeBuild action de génération à un pipeline (CodePipeline console)](how-to-create-pipeline-add.md)
+ [Modification des paramètres d'un projet de génération (console)](change-project.md#change-project-console)

Si vous ne prévoyez pas d'utiliser ces consoles, cette section explique comment créer un rôle de CodeBuild service avec la console IAM ou le AWS CLI. 

**Important**  
CodeBuild utilise le rôle de service pour toutes les opérations effectuées en votre nom. Si le rôle comprend des autorisations que l'utilisateur ne devrait pas avoir, vous avez peut-être remonté accidentellement ses autorisations. Vérifiez que le rôle accorde le [privilège le plus faible](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege).  
Le rôle de service décrit sur cette page contient une stratégie qui accorde les autorisations minimales requises pour utiliser CodeBuild. Il se peut que vous deviez ajouter des autorisations supplémentaires, en fonction de votre cas d'utilisation.<a name="setting-up-service-role-console"></a>

**Pour créer un rôle CodeBuild de service (console)**

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

   Vous devez vous être déjà connecté à la console à l'aide de l'une des actions suivantes :
   + Votre compte AWS root. Ceci n'est pas recommandé. Pour plus d'informations, voir [L'utilisateur Compte AWS root](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html) dans le *guide de l'utilisateur*.
   + Utilisateur administrateur de votre AWS compte. Pour plus d'informations, consultez la section [Création de votre premier utilisateur et groupe Compte AWS root](https://docs.aws.amazon.com/IAM/latest/UserGuide/getting-started_create-admin-group.html) dans le *guide de l'utilisateur*.
   + Un utilisateur de votre AWS compte autorisé à effectuer les actions minimales suivantes :

     ```
     iam:AddRoleToInstanceProfile
     iam:AttachRolePolicy
     iam:CreateInstanceProfile
     iam:CreatePolicy
     iam:CreateRole
     iam:GetRole
     iam:ListAttachedRolePolicies
     iam:ListPolicies
     iam:ListRoles
     iam:PassRole
     iam:PutRolePolicy
     iam:UpdateAssumeRolePolicy
     ```

     Pour plus d'informations, consultez la section [Présentation des politiques IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html) dans le *guide de l'utilisateur*.

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

1. Choisissez **Create Policy** (Créer une politique).

1. Sur la page **Créer une stratégie**, choisissez **JSON**.

1. Pour la stratégie JSON, saisissez ce qui suit, puis choisissez **Review Policy (Examiner une stratégie)** :

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

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Sid": "CloudWatchLogsPolicy",
         "Effect": "Allow",
         "Action": [
           "logs:CreateLogGroup",
           "logs:CreateLogStream",
           "logs:PutLogEvents"
         ],
         "Resource": "*"
       },
       {
         "Sid": "CodeCommitPolicy",
         "Effect": "Allow",
         "Action": [
           "codecommit:GitPull"
         ],
         "Resource": "*"
       },
       {
         "Sid": "S3GetObjectPolicy",
         "Effect": "Allow",
         "Action": [
           "s3:GetObject",
           "s3:GetObjectVersion"
         ],
         "Resource": "*"
       },
       {
         "Sid": "S3PutObjectPolicy",
         "Effect": "Allow",
         "Action": [
           "s3:PutObject"
         ],
         "Resource": "*"
       },
       {
         "Sid": "ECRPullPolicy",
         "Effect": "Allow",
         "Action": [
           "ecr:BatchCheckLayerAvailability",
           "ecr:GetDownloadUrlForLayer",
           "ecr:BatchGetImage"
         ],
         "Resource": "*"
       },
       {
         "Sid": "ECRAuthPolicy",
         "Effect": "Allow",
         "Action": [
           "ecr:GetAuthorizationToken"
         ],
         "Resource": "*"
       },
       {
         "Sid": "S3BucketIdentity",
         "Effect": "Allow",
         "Action": [
           "s3:GetBucketAcl",
           "s3:GetBucketLocation"
         ],
         "Resource": "*"
       }
     ]
   }
   ```

------
**Note**  
Cette politique contient des déclarations qui autorisent l'accès à un nombre potentiellement important de AWS ressources. Pour restreindre AWS CodeBuild l'accès à des AWS ressources spécifiques, modifiez la valeur du `Resource` tableau. Pour plus d'informations, consultez la documentation de sécurité du AWS service.

1. Sur la page **Review Policy (Examiner une stratégie)**, pour **Policy Name (Nom de stratégie)**, saisissez un nom pour la stratégie (par exemple, **CodeBuildServiceRolePolicy**), puis choisissez **Create policy (Créer une stratégie)**.
**Note**  
Si vous choisissez un autre nom, veillez à l'utiliser tout au long de cette procédure.

1. Dans le panneau de navigation, choisissez **Rôles**.

1. Sélectionnez **Create role** (Créer un rôle).

1. Sur la page **Créer un rôle**, le **AWS service** étant déjà sélectionné, choisissez **CodeBuild**, puis choisissez **Next:Permissions**.

1. Sur la page **Joindre des politiques d'autorisation **CodeBuildServiceRolePolicy****, sélectionnez, puis choisissez **Suivant : Révision**.

1. Sur la page **Create role and review (Créer un rôle et vérifier)**, pour **Role name (Nom du rôle)**, saisissez le nom du rôle (par exemple, **CodeBuildServiceRole**), puis choisissez **Create role (Créer un rôle)**.<a name="setting-up-service-role-cli"></a>

**Pour créer un rôle CodeBuild de service (AWS CLI)**

1. Assurez-vous d'avoir configuré la clé AWS CLI d' AWS accès et la clé d'accès AWS secrète correspondant à l'une des entités IAM, comme décrit dans la procédure précédente. Pour plus d'informations, consultez [Préparation de l'installation de l' AWS Command Line Interface](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-set-up.html) dans le *Guide de l'utilisateur AWS Command Line Interface *.

1. Dans un répertoire vide du poste de travail local ou de l'instance où le AWS CLI est installé, créez deux fichiers nommés `create-role.json` et`put-role-policy.json`. Si vous choisissez des noms de fichier différents, substituez-les tout au long de cette procédure.

   `create-role.json`:

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

****  

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

------
**Note**  
Nous vous recommandons d’utiliser les clés de condition `aws:SourceAccount` et `aws:SourceArn` pour vous protéger contre [le problème du député confus](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html). Par exemple, vous pouvez modifier la politique de confiance précédente avec les blocs de conditions suivants. `aws:SourceAccount`Il s'agit du propriétaire du CodeBuild projet et de `aws:SourceArn` l'ARN CodeBuild du projet.

   Si vous souhaitez limiter votre rôle de service à un AWS compte, cela `create-role.json` pourrait ressembler à ceci :

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Principal": {
                   "Service": "codebuild.amazonaws.com"
               },
               "Action": "sts:AssumeRole",
               "Condition": {
                   "StringEquals": {
                       "aws:SourceAccount": [
                           "111122223333"
                       ]
                   }
               }
           }
       ]
   }
   ```

------

   Si vous souhaitez limiter votre rôle de service à un CodeBuild projet spécifique, cela `create-role.json` pourrait ressembler à ceci :

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Principal": {
                   "Service": "codebuild.amazonaws.com"
               },
               "Action": "sts:AssumeRole",
               "Condition": {
                   "StringEquals": {
                       "aws:SourceArn": "arn:aws:codebuild:us-east-1:111122223333:project/MyProject"
                   }
               }
           }
       ]
   }
   ```

------
**Note**  
Si vous ne connaissez pas ou n'avez pas encore choisi le nom de votre CodeBuild projet et que vous souhaitez une restriction de politique de confiance sur un modèle d'ARN particulier, vous pouvez remplacer cette partie de l'ARN par un caractère générique (\$1). Après avoir créé votre projet, vous pouvez mettre à jour la politique de confiance.

   `put-role-policy.json`:

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

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Sid": "CloudWatchLogsPolicy",
         "Effect": "Allow",
         "Action": [
           "logs:CreateLogGroup",
           "logs:CreateLogStream",
           "logs:PutLogEvents"
         ],
         "Resource": "*"
       },
       {
         "Sid": "CodeCommitPolicy",
         "Effect": "Allow",
         "Action": [
           "codecommit:GitPull"
         ],
         "Resource": "*"
       },
       {
         "Sid": "S3GetObjectPolicy",
         "Effect": "Allow",
         "Action": [
           "s3:GetObject",
           "s3:GetObjectVersion"
         ],
         "Resource": "*"
       },
       {
         "Sid": "S3PutObjectPolicy",
         "Effect": "Allow",
         "Action": [
           "s3:PutObject"
         ],
         "Resource": "*"
       },
       {
         "Sid": "S3BucketIdentity",
         "Effect": "Allow",
         "Action": [
           "s3:GetBucketAcl",
           "s3:GetBucketLocation"
         ],
         "Resource": "*"
       }
     ]
   }
   ```

------
**Note**  
Cette politique contient des déclarations qui autorisent l'accès à un nombre potentiellement important de AWS ressources. Pour restreindre AWS CodeBuild l'accès à des AWS ressources spécifiques, modifiez la valeur du `Resource` tableau. Pour plus d'informations, consultez la documentation de sécurité du AWS service.

1. Placez-vous dans le répertoire dans lequel vous avez enregistré les fichiers précédents, puis exécutez les deux commandes suivantes, une par une, dans cet ordre. Vous pouvez utiliser des valeurs différentes pour `CodeBuildServiceRole` et `CodeBuildServiceRolePolicy`, mais veillez à les substituer ici.

   ```
   aws iam create-role --role-name CodeBuildServiceRole --assume-role-policy-document file://create-role.json
   ```

   ```
   aws iam put-role-policy --role-name CodeBuildServiceRole --policy-name CodeBuildServiceRolePolicy --policy-document file://put-role-policy.json
   ```

# Chiffrez les résultats de construction à l'aide d'une clé gérée par le client
<a name="setting-up-kms"></a>

Si vous suivez les étapes décrites [Mise en route à l'aide de la console](getting-started-overview.md#getting-started) pour y accéder AWS CodeBuild pour la première fois, vous n'avez probablement pas besoin des informations contenues dans cette rubrique. Cependant, au fur et à mesure que vous continuez à utiliser CodeBuild, vous souhaiterez peut-être effectuer des opérations telles que chiffrer les artefacts de construction.

 AWS CodeBuild Pour chiffrer ses artefacts de sortie de build, il doit avoir accès à une clé KMS. Par défaut, CodeBuild utilise le Clé gérée par AWS pour Amazon S3 dans votre AWS compte.

Si vous ne souhaitez pas utiliser le Clé gérée par AWS, vous devez créer et configurer vous-même une clé gérée par le client. Cette section décrit comment procéder avec la console IAM.

Pour plus d'informations sur les clés gérées par le client, consultez la section [AWS Key Management Service Concepts](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html) et [création de clés](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html) dans le *guide du AWS KMS développeur*.

Pour configurer une clé gérée par le client à utiliser par CodeBuild, suivez les instructions de la section « Comment modifier une politique clé » de la section [Modification d'une politique clé](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying.html) du *guide du AWS KMS développeur*. Ajoutez ensuite les instructions suivantes (entre *\$1\$1\$1 BEGIN ADDING STATEMENTS HERE \$1\$1\$1* et*\$1\$1\$1 END ADDING STATEMENTS HERE \$1\$1\$1*) à la politique clé. Des ellipses (`...`) sont utilisées par souci de concision et pour vous aider à déterminer l'endroit où ajouter les instructions. Ne supprimez aucune instruction, et n'entrez pas ces ellipses dans la stratégie de clé.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "kms:Encrypt",
        "kms:Decrypt",
        "kms:ReEncrypt*",
        "kms:GenerateDataKey*",
        "kms:DescribeKey"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "kms:ViaService": "s3.us-east-1.amazonaws.com",
          "kms:CallerAccount": "111122223333"
        }
      }
    },
    {
      "Effect": "Allow", 
      "Action": [
        "kms:Encrypt",
        "kms:Decrypt",
        "kms:ReEncrypt*",
        "kms:GenerateDataKey*",
        "kms:DescribeKey"
      ],
      "Resource": "*"
    }
  ]
}
```

------
+ *region-ID*représente l'ID de la AWS région où se trouvent les compartiments Amazon S3 associés CodeBuild (par exemple,`us-east-1`).
+ *account-ID*représente l'ID du AWS compte propriétaire de la clé gérée par le client.
+ *CodeBuild-service-role*représente le nom du rôle de CodeBuild service que vous avez créé ou identifié précédemment dans cette rubrique.

**Note**  
Pour créer ou configurer une clé gérée par le client via la console IAM, vous devez d'abord vous connecter au en AWS Management Console utilisant l'une des méthodes suivantes :  
Votre compte AWS root. Ceci n'est pas recommandé. Pour plus d'informations, voir [The Account Root User](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html) dans le *guide de l'utilisateur*.
Utilisateur administrateur de votre AWS compte. Pour plus d'informations, consultez la section [Création de votre premier utilisateur et groupe Compte AWS root](https://docs.aws.amazon.com/IAM/latest/UserGuide/getting-started_create-admin-group.html) dans le *guide de l'utilisateur*.
Un utilisateur de votre AWS compte autorisé à créer ou à modifier la clé gérée par le client. Pour plus d'informations, consultez la section [Autorisations requises pour utiliser la AWS KMS console](https://docs.aws.amazon.com/kms/latest/developerguide/iam-policies.html#console-permissions) dans le *guide du AWS KMS développeur*.

# Interagissez à CodeBuild l'aide du AWS CLI
<a name="setting-up-cli"></a>

Si vous suivez les étapes décrites [Mise en route à l'aide de la console](getting-started-overview.md#getting-started) pour y accéder AWS CodeBuild pour la première fois, vous n'avez probablement pas besoin des informations contenues dans cette rubrique. Toutefois, au fur et à mesure que vous continuez à utiliser CodeBuild, vous souhaiterez peut-être faire des choses telles que permettre AWS CLI aux utilisateurs d'utiliser le pour interagir avec CodeBuild la CodeBuild console, la CodePipeline console ou le AWS SDKs.

Pour l'installer et le configurer AWS CLI, reportez-vous à la section [Getting Up with the AWS Command Line Interface](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-set-up.html) dans le *guide de AWS Command Line Interface l'utilisateur*.

Après avoir installé le AWS CLI, effectuez les tâches suivantes :

1. Exécutez la commande suivante pour vérifier si vous avez installé les AWS CLI supports CodeBuild :

   ```
   aws codebuild list-builds
   ```

   En cas de réussite, des informations similaires à ce qui suit s'affichent dans la sortie :

   ```
   {
     "ids": []
   }
   ```

   Les crochets vides indiquent que vous n'avez pas encore exécuté de générations.

1. Si une erreur est générée, vous devez désinstaller votre version actuelle de l' AWS CLI , puis installer la dernière version. Pour plus d'informations, consultez [Désinstallation de l' AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-uninstall.html) et [Installation de l' AWS Command Line Interface](https://docs.aws.amazon.com/cli/latest/userguide/installing.html) dans le *Guide de l'utilisateur AWS Command Line Interface *.

# Référence de ligne de commande pour AWS CodeBuild
<a name="cmd-ref"></a>

 AWS CLI Fournit des commandes pour l'automatisation. AWS CodeBuild Utilisez les informations de cette rubrique en complément du [guide de l'AWS Command Line Interface utilisateur](https://docs.aws.amazon.com/cli/latest/userguide/) et de la [AWS CLI référence pour AWS CodeBuild](https://docs.aws.amazon.com/cli/latest/reference/codebuild/).

Ce n'est pas ce que vous recherchez ? Si vous souhaitez utiliser le AWS SDKs pour appeler CodeBuild, consultez le[AWS SDKs et référence des outils](sdk-ref.md).

Pour utiliser les informations de cette rubrique, vous devez déjà l'avoir installé AWS CLI et configuré pour une utilisation avec CodeBuild, comme décrit dans[Interagissez à CodeBuild l'aide du AWS CLI](setting-up-cli.md).

 Pour utiliser le AWS CLI pour spécifier le point de terminaison pour CodeBuild, voir[Spécifiez le AWS CodeBuild point de terminaison (AWS CLI)](endpoint-specify.md#endpoint-specify-cli). 

Exécutez cette commande pour obtenir une liste de CodeBuild commandes.

```
aws codebuild help
```

Exécutez cette commande pour obtenir des informations sur une CodeBuild commande, dont le nom *command-name* est indiqué.

```
aws codebuild command-name help
```

CodeBuild les commandes incluent :
+ `batch-delete-builds`: Supprime une ou plusieurs versions intégrées. CodeBuild Pour de plus amples informations, veuillez consulter [Suppression de générations (AWS CLI)](delete-builds.md#delete-builds-cli).
+ `batch-get-builds` : Obtient des informations sur plusieurs générations dans CodeBuild. Pour de plus amples informations, veuillez consulter [Affichage des détails d'une génération (AWS CLI)](view-build-details.md#view-build-details-cli).
+ `batch-get-projects` : Obtient des informations sur un ou plusieurs projets de génération spécifiés. Pour de plus amples informations, veuillez consulter [Affichage des détails d'un projet de génération (AWS CLI)](view-project-details.md#view-project-details-cli).
+ `create-project` : crée un projet de génération. Pour de plus amples informations, veuillez consulter [Création d'un projet de génération (AWS CLI)](create-project.md#create-project-cli).
+ `delete-project` : supprime un projet de génération Pour de plus amples informations, veuillez consulter [Suppression d'un projet de génération (AWS CLI)](delete-project.md#delete-project-cli).
+ `list-builds`: répertorie les noms des ressources Amazon (ARNs) pour les versions intégrées CodeBuild. Pour de plus amples informations, veuillez consulter [Afficher la liste des build IDs (AWS CLI)](view-build-list.md#view-build-list-cli).
+ `list-builds-for-project`: obtient la liste des versions IDs associées à un projet de construction spécifié. Pour de plus amples informations, veuillez consulter [Afficher la liste des versions IDs pour un projet de construction (AWS CLI)](view-builds-for-project.md#view-builds-for-project-cli).
+ `list-curated-environment-images`: Obtient une liste d'images Docker gérées CodeBuild que vous pouvez utiliser pour vos builds. Pour de plus amples informations, veuillez consulter [Images Docker fournies par CodeBuild](build-env-ref-available.md).
+ `list-projects` : Obtient une liste de noms de projet de génération. Pour de plus amples informations, veuillez consulter [Affichage d'une liste de noms de projet de génération (AWS CLI)](view-project-list.md#view-project-list-cli).
+ `start-build` : démarre l'exécution d'une génération. Pour de plus amples informations, veuillez consulter [Exécution d'une génération (AWS CLI)](run-build-cli.md).
+ `stop-build` : Tente d'arrêter l'exécution de la génération spécifiée. Pour de plus amples informations, veuillez consulter [Arrêt d'une génération (AWS CLI)](stop-build.md#stop-build-cli).
+ `update-project` : Modifie des informations sur le projet de génération spécifié. Pour de plus amples informations, veuillez consulter [Modification des paramètres d'un projet de génération (AWS CLI)](change-project.md#change-project-cli).

# AWS SDKs et référence d'outils pour AWS CodeBuild
<a name="sdk-ref"></a>

Pour utiliser l'un AWS SDKs des outils d'automatisation AWS CodeBuild, consultez les ressources suivantes.

Si vous souhaitez utiliser le AWS CLI pour exécuter CodeBuild, consultez le[Référence des commandes en ligne](cmd-ref.md).

## Support AWS SDKs et outils pour AWS CodeBuild
<a name="sdk-ref-sdks"></a>

Les outils AWS SDKs et outils suivants sont pris en charge CodeBuild :
+ Le [kit SDK AWS pour C\$1\$1](https://aws.amazon.com/sdk-for-cpp). Pour plus d'informations, consultez la section [Aws : : CodeBuild](http://sdk.amazonaws.com/cpp/api/LATEST/namespace_aws_1_1_code_build.html) namespace du manuel de référence de l'*AWS API SDK for C\$1\$1*.
+ Le [kit SDK AWS pour Go](https://aws.amazon.com/sdk-for-go/). Pour plus d'informations, consultez la section [codebuild](https://docs.aws.amazon.com/sdk-for-go/api/service/codebuild/) du manuel de référence de l'*AWS API SDK for Go*.
+ Le [kit SDK AWS pour Java](https://aws.amazon.com/sdk-for-java/). Pour de plus amples informations, veuillez consulter les sections `com.amazonaws.services.codebuild` et `com.amazonaws.services.codebuild.model` du document [Référence d'API du kit AWS SDK pour Java](https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/index.html).
+ Le [AWS SDK pour JavaScript le navigateur et le AWS](https://aws.amazon.com/sdk-for-browser/) [SDK pour JavaScript ](https://aws.amazon.com/sdk-for-node-js/) le fichier Node.js. Pour plus d'informations, consultez la [classe : AWS. CodeBuild](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/CodeBuild.html)section du *AWS SDK pour la référence des JavaScript API*.
+ Le [kit SDK AWS pour .NET](https://aws.amazon.com/sdk-for-net/). Pour plus d'informations, consultez les sections d'espaces de noms [Amazon.CodeBuild](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/CodeBuild/NCodeBuild.html) et [Amazon.CodeBuild.Model](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/CodeBuild/NCodeBuildModel.html) du document *AWS SDK for .NET API Reference*.
+ Le [kit SDK AWS pour PHP](https://aws.amazon.com/sdk-for-php/). Pour plus d'informations, consultez la section [Namespace Aws\$1CodeBuild](https://docs.aws.amazon.com/aws-sdk-php/v3/api/namespace-Aws.CodeBuild.html) du document *AWS SDK for PHP API Reference*.
+ Le [kit SDK AWS pour Python (Boto3)](https://aws.amazon.com/sdk-for-python/). Pour plus d'informations, consultez la section [CodeBuild](https://boto3.readthedocs.io/en/latest/reference/services/codebuild.html) de la *documentation sur Boto 3*.
+ Le [kit SDK AWS pour Ruby](https://aws.amazon.com/sdk-for-ruby/). Pour plus d'informations, consultez la section [Module: Aws::CodeBuild](https://docs.aws.amazon.com/sdkforruby/api/Aws/CodeBuild.html) du document *AWS SDK for Ruby API Reference*.
+ Les [AWS outils pour PowerShell](https://aws.amazon.com/powershell/). Pour plus d'informations, consultez la [AWS CodeBuild](https://docs.aws.amazon.com/powershell/latest/reference/items/AWS_CodeBuild_cmdlets.html)section de référence des *AWS outils pour les PowerShell applets* de commande.

# Utilisation de ce service avec un AWS SDK
<a name="sdk-general-information-section"></a>

AWS des kits de développement logiciel (SDKs) sont disponibles pour de nombreux langages de programmation courants. Chaque kit SDK fournit une API, des exemples de code et de la documentation qui facilitent la création d’applications par les développeurs dans leur langage préféré.


| Documentation SDK | Exemples de code | 
| --- | --- | 
| [AWS SDK pour C\$1\$1](https://docs.aws.amazon.com/sdk-for-cpp) | [AWS SDK pour C\$1\$1 exemples de code](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/cpp) | 
| [AWS CLI](https://docs.aws.amazon.com/cli) | [AWS CLI exemples de code](https://docs.aws.amazon.com/code-library/latest/ug/cli_2_code_examples.html) | 
| [AWS SDK pour Go](https://docs.aws.amazon.com/sdk-for-go) | [AWS SDK pour Go exemples de code](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/gov2) | 
| [AWS SDK pour Java](https://docs.aws.amazon.com/sdk-for-java) | [AWS SDK pour Java exemples de code](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/javav2) | 
| [AWS SDK pour JavaScript](https://docs.aws.amazon.com/sdk-for-javascript) | [AWS SDK pour JavaScript exemples de code](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/javascriptv3) | 
| [AWS SDK pour Kotlin](https://docs.aws.amazon.com/sdk-for-kotlin) | [AWS SDK pour Kotlin exemples de code](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/kotlin) | 
| [AWS SDK pour .NET](https://docs.aws.amazon.com/sdk-for-net) | [AWS SDK pour .NET exemples de code](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/dotnetv3) | 
| [AWS SDK pour PHP](https://docs.aws.amazon.com/sdk-for-php) | [AWS SDK pour PHP exemples de code](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/php) | 
| [Outils AWS pour PowerShell](https://docs.aws.amazon.com/powershell) | [Outils AWS pour PowerShell exemples de code](https://docs.aws.amazon.com/code-library/latest/ug/powershell_5_code_examples.html) | 
| [AWS SDK pour Python (Boto3)](https://docs.aws.amazon.com/pythonsdk) | [AWS SDK pour Python (Boto3) exemples de code](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/python) | 
| [AWS SDK pour Ruby](https://docs.aws.amazon.com/sdk-for-ruby) | [AWS SDK pour Ruby exemples de code](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/ruby) | 
| [AWS SDK pour Rust](https://docs.aws.amazon.com/sdk-for-rust) | [AWS SDK pour Rust exemples de code](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/rustv1) | 
| [AWS SDK pour SAP ABAP](https://docs.aws.amazon.com/sdk-for-sapabap) | [AWS SDK pour SAP ABAP exemples de code](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/sap-abap) | 
| [AWS SDK pour Swift](https://docs.aws.amazon.com/sdk-for-swift) | [AWS SDK pour Swift exemples de code](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/swift) | 

Pour voir des exemples spécifiques à ce service, consultez [Exemples de code à CodeBuild utiliser AWS SDKs](service_code_examples.md).

**Exemple de disponibilité**  
Vous n’avez pas trouvé ce dont vous avez besoin ? Demandez un exemple de code en utilisant le lien **Provide feedback (Fournir un commentaire)** en bas de cette page.

# Spécifiez le AWS CodeBuild point de terminaison
<a name="endpoint-specify"></a>

 Vous pouvez utiliser le AWS Command Line Interface (AWS CLI) ou l'un des AWS SDKs pour spécifier le point de terminaison utilisé par AWS CodeBuild. Un point de terminaison CodeBuild est disponible pour chaque région. En plus d'un point de terminaison régional, quatre régions ont également un point de terminaison FIPS (Federal Information Processing Standards). Pour de plus amples informations sur les points de terminaison FIPS, veuillez consulter [Présentation de FIPS 140-2](https://aws.amazon.com/compliance/fips/). 

 La spécification d'un point de terminaison est facultative. Si vous n'indiquez pas explicitement CodeBuild quel point de terminaison utiliser, le service utilise le point de terminaison associé à la région utilisée par votre AWS compte. CodeBuildne prend jamais par défaut un point de terminaison FIPS. Si vous souhaitez utiliser un point de terminaison FIPS, vous devez lui associer CodeBuild via une des méthodes suivantes. 

**Note**  
 Vous pouvez utiliser un alias ou un nom de région pour spécifier un point de terminaison à l'aide d'un AWS SDK. Si vous utilisez le AWS CLI, vous devez utiliser le nom complet du point de terminaison. 

 Pour les points de terminaison pouvant être utilisés avec CodeBuild, voir [CodeBuild Régions et points de terminaison](https://docs.aws.amazon.com/general/latest/gr/rande.html#codebuild_region). 

**Topics**
+ [Spécifiez le AWS CodeBuild point de terminaison (AWS CLI)](#endpoint-specify-cli)
+ [Spécifiez le AWS CodeBuild point de terminaison (AWS SDK)](#endpoint-specify-sdk)

## Spécifiez le AWS CodeBuild point de terminaison (AWS CLI)
<a name="endpoint-specify-cli"></a>

 Vous pouvez utiliser le AWS CLI pour spécifier le point de terminaison par lequel AWS CodeBuild on accède en utilisant l'`--endpoint-url`argument dans n'importe quelle CodeBuild commande. Par exemple, exécutez cette commande pour obtenir une liste des noms de version de projet à l'aide du point de terminaison FIPS (Federal Information Processing Standards) dans la région USA Est (Virginie du Nord) : 

```
aws codebuild list-projects --endpoint-url https://codebuild-fips.us-east-1.amazonaws.com
```

Incluez `https://` au début du point de terminaison.

 L'`--endpoint-url` AWS CLI argument est disponible pour tous les AWS services. Pour plus d'informations à ce sujet et sur d'autres AWS CLI arguments, consultez [AWS CLI la section Référence des commandes](https://docs.aws.amazon.com/cli/latest/reference/). 

## Spécifiez le AWS CodeBuild point de terminaison (AWS SDK)
<a name="endpoint-specify-sdk"></a>

 Vous pouvez utiliser un AWS SDK pour spécifier le point de terminaison par lequel AWS CodeBuild vous accédez. Bien que cet exemple utilise le [AWS SDK for](https://aws.amazon.com/sdk-for-java/) Java, vous pouvez spécifier le point de terminaison avec l' AWS SDKsautre. 

 Utilisez `withEndpointConfiguration` cette méthode lors de la construction du client AWSCode Build. Voici le format à utiliser : 

```
AWSCodeBuild awsCodeBuild = AWSCodeBuildClientBuilder.standard().
    withEndpointConfiguration(new AwsClientBuilder.EndpointConfiguration("endpoint", "region")).
    withCredentials(new AWSStaticCredentialsProvider(sessionCredentials)).
    build();
```

 Pour plus d'informations sur`AWSCodeBuildClientBuilder`, voir [Classe AWSCode BuildClientBuilder](https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/codebuild/AWSCodeBuildClientBuilder.html). 

 Les informations d'identification utilisées dans `withCredentials` doivent être de type `AWSCredentialsProvider`. Pour plus d'informations, consultez la section [Utilisation des AWS informations d'identification](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/credentials.html). 

 N'incluez pas `https://` au début du point de terminaison.

 Si vous souhaitez spécifier un point de terminaison non conforme à la norme FIPS, vous pouvez utiliser la région plutôt que le point de terminaison. Par exemple, pour spécifier le point de terminaison dans la région de l'est des États-Unis (Virginie du Nord), vous pouvez utiliser à la `us-east-1` place du nom complet du point de terminaison,`codebuild.us-east-1.amazonaws.com`. 

Si vous souhaitez spécifier un point de terminaison FIPS, vous pouvez utiliser un alias pour simplifier votre code. Seuls les points de terminaison FIPS ont un alias. Les autres points de terminaison doivent être spécifiés à l'aide de leur nom de région ou de leur nom complet. 

Le tableau suivant répertorie les alias pour chacun des quatre points de terminaison FIPS disponibles :


****  
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/codebuild/latest/userguide/endpoint-specify.html)

 Pour spécifier l'utilisation du point de terminaison FIPS dans la région ouest des États-Unis (Oregon) à l'aide d'un alias : 

```
AWSCodeBuild awsCodeBuild = AWSCodeBuildClientBuilder.standard().
    withEndpointConfiguration(new AwsClientBuilder.EndpointConfiguration("us-west-2-fips", "us-west-2")).
    withCredentials(new AWSStaticCredentialsProvider(sessionCredentials)).
    build();
```

 Pour spécifier l'utilisation du point de terminaison non FIPS dans la région de l'est des États-Unis (Virginie du Nord) : 

```
AWSCodeBuild awsCodeBuild = AWSCodeBuildClientBuilder.standard().
    withEndpointConfiguration(new AwsClientBuilder.EndpointConfiguration("us-east-1", "us-east-1")).
    withCredentials(new AWSStaticCredentialsProvider(sessionCredentials)).
    build();
```

 Pour spécifier l'utilisation du point de terminaison non FIPS dans la région Asie-Pacifique (Mumbai) : 

```
AWSCodeBuild awsCodeBuild = AWSCodeBuildClientBuilder.standard().
    withEndpointConfiguration(new AwsClientBuilder.EndpointConfiguration("ap-south-1", "ap-south-1")).
    withCredentials(new AWSStaticCredentialsProvider(sessionCredentials)).
    build();
```

# Utilisez AWS CodeBuild with AWS CodePipeline pour tester le code et exécuter des builds
<a name="how-to-create-pipeline"></a>

Vous pouvez automatiser votre processus de publication en l'utilisant AWS CodePipeline pour tester votre code et exécuter vos builds avec AWS CodeBuild.

Le tableau suivant répertorie les tâches et les méthodes disponibles pour ces tâches. L'utilisation du AWS SDKs pour accomplir ces tâches n'entre pas dans le cadre de cette rubrique. 


****  

| Sous-tâche | Approches disponibles | Approches décrites dans cette rubrique | 
| --- | --- | --- | 
| Créez un pipeline de livraison continue (CD) CodePipeline qui automatise les builds avec CodeBuild |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/codebuild/latest/userguide/how-to-create-pipeline.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/codebuild/latest/userguide/how-to-create-pipeline.html)  | 
| Ajoutez l'automatisation des tests et du CodeBuild développement à un pipeline existant dans CodePipeline |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/codebuild/latest/userguide/how-to-create-pipeline.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/codebuild/latest/userguide/how-to-create-pipeline.html)  | 

**Topics**
+ [Conditions préalables](#how-to-create-pipeline-prerequisites)
+ [Créez un pipeline qui utilise CodeBuild (CodePipeline console)](how-to-create-pipeline-console.md)
+ [Créez un pipeline qui utilise CodeBuild (AWS CLI)](how-to-create-pipeline-cli.md)
+ [Ajouter une CodeBuild action de génération à un pipeline (CodePipeline console)](how-to-create-pipeline-add.md)
+ [Ajouter une action de CodeBuild test à un pipeline (CodePipeline console)](how-to-create-pipeline-add-test.md)

## Conditions préalables
<a name="how-to-create-pipeline-prerequisites"></a>

1. Répondez aux questions de [Planification d'une génération](planning.md).

1. Si vous utilisez un utilisateur pour accéder CodePipeline au lieu d'un compte AWS root ou d'un utilisateur administrateur, associez la politique gérée nommée `AWSCodePipelineFullAccess` à l'utilisateur (ou au groupe IAM auquel appartient l'utilisateur). L'utilisation d'un compte AWS root n'est pas recommandée. Cette stratégie accorde à l'utilisateur l'autorisation de créer le pipeline dans CodePipeline. Pour plus d'informations, consultez la section [Joindre des politiques gérées](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-using.html#attach-managed-policy-console) dans le *guide de l'utilisateur*.
**Note**  
L'entité IAM qui attache la politique à l'utilisateur (ou au groupe IAM auquel appartient l'utilisateur) doit être autorisée dans IAM à attacher des politiques. Pour plus d'informations, consultez la section [Délégation d'autorisations pour administrer les utilisateurs, les groupes et les informations d'identification IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_delegate-permissions.html) dans le guide de l'*utilisateur*.

1. Créez un rôle de CodePipeline service, si aucun rôle n'est déjà disponible dans votre AWS compte. CodePipeline utilise ce rôle de service pour interagir avec d'autres AWS services AWS CodeBuild, y compris en votre nom. Par exemple, pour utiliser le AWS CLI pour créer un rôle CodePipeline de service, exécutez la `create-role` commande IAM :

   Pour Linux, macOS ou Unix :

   ```
   aws iam create-role --role-name AWS-CodePipeline-CodeBuild-Service-Role --assume-role-policy-document '{"Version": "2012-10-17",		 	 	 "Statement":{"Effect":"Allow","Principal":{"Service":"codepipeline.amazonaws.com"},"Action":"sts:AssumeRole"}}'
   ```

   Pour Windows :

   ```
   aws iam create-role --role-name AWS-CodePipeline-CodeBuild-Service-Role --assume-role-policy-document "{\"Version\":\"2012-10-17\",		 	 	 \"Statement\":{\"Effect\":\"Allow\",\"Principal\":{\"Service\":\"codepipeline.amazonaws.com\"},\"Action\":\"sts:AssumeRole\"}}"
   ```
**Note**  
L'entité IAM qui crée ce rôle de CodePipeline service doit être autorisée dans IAM à créer des rôles de service.

1. Après avoir créé un rôle de CodePipeline service ou identifié un rôle existant, vous devez ajouter la politique de rôle de CodePipeline service par défaut au rôle de service, comme décrit dans la section [Révision de la politique de rôle de CodePipeline service par défaut](https://docs.aws.amazon.com/codepipeline/latest/userguide/iam-identity-based-access-control.html#how-to-custom-role) dans le *Guide de AWS CodePipeline l'utilisateur*, si elle ne fait pas déjà partie de la politique du rôle.
**Note**  
L'entité IAM qui ajoute cette politique de rôle de CodePipeline service doit être autorisée dans IAM à ajouter des politiques de rôle de service aux rôles de service.

1. Créez et chargez le code source dans un type de référentiel pris en charge par CodeBuild et CodePipeline CodeCommit, tel qu'Amazon S3, Bitbucket ou GitHub. Le code source doit contenir un fichier de spécification de génération, mais vous pourrez en déclarer un lorsque vous définirez un projet de génération ultérieurement dans cette rubrique. Pour de plus amples informations, veuillez consulter [Référence des spécifications de génération](build-spec-ref.md).
**Important**  
Si vous prévoyez d'utiliser le pipeline pour déployer le code source généré, l'artefact de sortie de génération doit être compatible avec le système de déploiement que vous utilisez.   
Pour OpsWorks, voir [Source de l'application](https://docs.aws.amazon.com/opsworks/latest/userguide/workingapps-creating.html#workingapps-creating-source) et [Utilisation CodePipeline avec OpsWorks](https://docs.aws.amazon.com/opsworks/latest/userguide/other-services-cp.html) dans le *guide de OpsWorks l'utilisateur*.

# Créez un pipeline qui utilise CodeBuild (CodePipeline console)
<a name="how-to-create-pipeline-console"></a>

Utilisez la procédure suivante pour créer un pipeline qui permet CodeBuild de créer et de déployer votre code source.

Pour créer un pipeline qui teste uniquement votre code source :
+ Utilisez la procédure suivante pour créer le pipeline, puis supprimez les étapes de génération et bêta du pipeline. Utilisez ensuite la procédure [Ajouter une action de CodeBuild test à un pipeline (CodePipeline console)](how-to-create-pipeline-add-test.md) décrite dans cette rubrique pour ajouter au pipeline une action de test qui utilise CodeBuild.
+ Utilisez l'une des autres procédures de cette rubrique pour créer le pipeline, puis utilisez la procédure [Ajouter une action de CodeBuild test à un pipeline (CodePipeline console)](how-to-create-pipeline-add-test.md) décrite dans cette rubrique pour ajouter au pipeline une action de test qui utilise CodeBuild.

**Pour utiliser l'assistant de création de pipeline CodePipeline pour créer un pipeline qui utilise CodeBuild**

1. Connectez-vous au AWS Management Console en utilisant :
   + Votre compte AWS root. Ceci n'est pas recommandé. Pour plus d'informations, consultez [la section L'utilisateur root du compte](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html) dans le *guide de l'utilisateur*.
   + Utilisateur administrateur de votre AWS compte. Pour plus d'informations, consultez la section [Création de votre premier utilisateur et de votre premier groupe Compte AWS root](https://docs.aws.amazon.com/IAM/latest/UserGuide/getting-started_create-admin-group.html) dans le *guide de l'utilisateur*.
   + Un utilisateur de votre AWS compte autorisé à effectuer les actions minimales suivantes :

     ```
     codepipeline:*
     iam:ListRoles
     iam:PassRole
     s3:CreateBucket
     s3:GetBucketPolicy
     s3:GetObject
     s3:ListAllMyBuckets
     s3:ListBucket
     s3:PutBucketPolicy
     codecommit:ListBranches
     codecommit:ListRepositories
     codedeploy:GetApplication
     codedeploy:GetDeploymentGroup
     codedeploy:ListApplications
     codedeploy:ListDeploymentGroups
     elasticbeanstalk:DescribeApplications
     elasticbeanstalk:DescribeEnvironments
     lambda:GetFunctionConfiguration
     lambda:ListFunctions
     opsworks:DescribeStacks
     opsworks:DescribeApps
     opsworks:DescribeLayers
     ```

1. Ouvrez la AWS CodePipeline console à l'adresse [https://console.aws.amazon.com/codesuite/codepipeline/home](https://console.aws.amazon.com/codesuite/codepipeline/home).

1. Dans le sélecteur de AWS région, choisissez la AWS région dans laquelle se trouvent les AWS ressources de votre projet de construction. Il doit s'agir d'une AWS région prise CodeBuild en charge. Pour plus d’informations, consultez [AWS CodeBuild](https://docs.aws.amazon.com/general/latest/gr/rande.html#codebuild_region) dans le *Référence générale d'Amazon Web Services*.

1. Créez un pipeline. Si une page CodePipeline d'informations s'affiche, choisissez **Create pipeline**. Si une page **Tous les pipelines** s'affiche, choisissez **Créer un pipeline**.

1. Sur la page **Étape 1 : Choisir des paramètres de pipeline**, pour **Nom du pipeline**, saisissez un nom pour le pipeline, par exemple, **CodeBuildDemoPipeline**. Si vous choisissez un autre nom, veillez à l'utiliser tout au long de cette procédure.

1. Pour **Nom du rôle**, sélectionnez l'une des options suivantes :

   Choisissez **New service role (Nouveau rôle de service)** et dans **Nom du rôle**, saisissez le nom de votre nouveau rôle de service.

   Choisissez **Existing service role (Rôle de service existant)**, puis choisissez le rôle de service CodePipeline que vous avez créé ou identifié dans le cadre des prérequis de cette rubrique.

1. Pour **Artifact store (Magasin d'artefacts)**, effectuez l'une des opérations suivantes :
   + Choisissez **Emplacement par défaut** pour utiliser le magasin d'artefacts par défaut, tel que le compartiment d'artefacts S3 désigné par défaut, pour votre pipeline dans la AWS région que vous avez sélectionnée pour votre pipeline.
   + Choisissez **Emplacement personnalisé** si vous avez déjà créé un magasin d'artefacts, tel qu'un bucket d'artefacts S3, dans la même AWS région que votre pipeline.
**Note**  
Il ne s'agit pas du compartiment source du code source pour votre pipeline. Il s'agit du magasin d'artefacts pour votre pipeline. Un magasin d'artefacts distinct, tel qu'un compartiment S3, est requis pour chaque pipeline, dans la même AWS région que le pipeline.

1. Choisissez **Suivant**.

1. Sur la page **Étape 2 : Ajouter une étape source**, pour **Fournisseur de source**, effectuez l'une des actions suivantes :
   + Si votre code source est stocké dans un compartiment S3, choisissez **Amazon S3**. Pour **Bucket (Compartiment)**, sélectionnez le compartiment S3 qui contient votre code source. Pour **S3 object key (Clé d'objet S3)**, saisissez le nom du fichier qui contient le code source (par exemple `file-name.zip`). Choisissez **Suivant**.
   + Si votre code source est stocké dans un AWS CodeCommit dépôt, choisissez **CodeCommit**. Pour **Repository name**, choisissez le nom du référentiel qui contient le code source. Pour **Branch name (Nom de branche)**, choisissez le nom de la branche qui représente la version du code source à générer. Choisissez **Suivant**.
   + Si votre code source est stocké dans un GitHub dépôt, choisissez **GitHub**. Choisissez **Connect to GitHub**, puis suivez les instructions pour vous authentifier auprès GitHub de. Pour **Repository**, choisissez le nom du référentiel qui contient le code source. Pour **Branch (Branche)**, choisissez le nom de la branche qui représente la version du code source à générer. 

   Choisissez **Suivant**.

1. Sur la page **Étape 3: Ajouter une étape de génération**, pour **Fournisseur de génération**, choisissez **CodeBuild**.

1. Si vous avez déjà un projet de construction que vous souhaitez utiliser, dans **Nom du projet**, choisissez le nom du projet de construction et passez à l'étape suivante de cette procédure. 

   Si vous devez créer un nouveau projet de CodeBuild construction, suivez les instructions fournies [Création d'un projet de génération (console)](create-project.md#create-project-console) et revenez à cette procédure.

   Si vous choisissez un projet de construction existant, les paramètres d'artefact de sortie de construction doivent déjà être définis (même s'ils les CodePipeline remplacent). Pour de plus amples informations, veuillez consulter [Modification des paramètres d'un projet de génération (console)](change-project.md#change-project-console).
**Important**  
Si vous activez les webhooks pour un CodeBuild projet et que le projet est utilisé comme étape de construction CodePipeline, deux versions identiques sont créées pour chaque validation. L'une est déclenchée via des webhooks et l'autre via CodePipeline. Comme la facturation est effectuée par génération, les deux générations vous sont facturées. Par conséquent, si vous utilisez CodePipeline, nous vous recommandons de désactiver les webhooks dans CodeBuild. Dans la console AWS CodeBuild , décochez la case **Webhook**. Pour de plus amples informations, veuillez consulter [Modification des paramètres d'un projet de génération (console)](change-project.md#change-project-console).

1. Sur la page **Étape 4 : Ajouter une étape de déploiement**, effectuez l'une des opérations suivantes :
   + Si vous ne souhaitez pas déployer l'artefact de sortie de génération, choisissez **Ignorer** et confirmez ce choix lorsque vous y êtes invité. 
   + Si vous souhaitez déployer l'artefact de sortie de génération, pour **Deploy provider (Fournisseur de déploiement)**, choisissez un fournisseur de déploiement, puis spécifiez les paramètres lorsque vous y êtes invité.

   Choisissez **Suivant**.

1. Sur la page **Vérification**, vérifiez vos sélections, puis choisissez **Créer un pipeline**.

1. Une fois que le pipeline s'exécute correctement, vous pouvez obtenir l'artefact de sortie de la génération. Le pipeline étant affiché dans la CodePipeline console, dans l'action **Construire**, choisissez l'infobulle. Notez la valeur de l'**artefact de sortie** (par exemple, **MyAppBuild**).
**Note**  
Vous pouvez également obtenir l'artefact de sortie du build en cliquant sur le lien **Build artefacts** sur la page des détails du build dans la CodeBuild console. Pour accéder à cette page, ignorez les autres étapes de cette procédure et consultez [Affichage des détails d'une génération (console)](view-build-details.md#view-build-details-console).

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

1. Dans la liste des compartiments, ouvrez le compartiment utilisé par le pipeline. Le nom du compartiment doit suivre le format `codepipeline-region-ID-random-number`. Vous pouvez utiliser le AWS CLI pour exécuter la CodePipeline **get-pipeline** commande afin d'obtenir le nom du bucket, où se *my-pipeline-name* trouve le nom d'affichage de votre pipeline :

   ```
   aws codepipeline get-pipeline --name my-pipeline-name
   ```

    Dans la sortie, l'objet `pipeline` contient un objet `artifactStore` contenant une valeur `location` avec le nom du compartiment.

1. Ouvrez le dossier correspondant au nom de votre pipeline (selon la longueur du nom du pipeline, le nom de dossier peut être tronqué), puis ouvrez le dossier correspondant à la valeur pour **Output artifact (Artefact de sortie)** que vous avez notée précédemment.

1. Extrayez le contenu du fichier . Si ce dossier contient plusieurs fichiers, extrayez le contenu du fichier avec le dernier horodatage **Last Modified**. (Vous pouvez attribuer au fichier l'extension `.zip` pour pouvoir l'utiliser avec l'utilitaire ZIP de votre système.) L'artefact de sortie de génération figure dans le contenu extrait du fichier.

1. Si vous avez demandé CodePipeline de déployer l'artefact de sortie de génération, utilisez les instructions du fournisseur de déploiement pour accéder à l'artefact de sortie de génération sur les cibles de déploiement.

# Créez un pipeline qui utilise CodeBuild (AWS CLI)
<a name="how-to-create-pipeline-cli"></a>

Utilisez la procédure suivante pour créer un pipeline qui servira CodeBuild à générer votre code source.

 AWS CLI Pour créer un pipeline qui déploie votre code source créé ou qui teste uniquement votre code source, vous pouvez adapter les instructions de la section [Modifier un pipeline (AWS CLI)](https://docs.aws.amazon.com/codepipeline/latest/userguide/how-to-edit-pipelines.html#how-to-edit-pipelines-cli) et la [référence de structure du CodePipeline pipeline](https://docs.aws.amazon.com/codepipeline/latest/userguide/pipeline-structure.html) dans le *guide de l'AWS CodePipeline utilisateur*.

1. Créez ou identifiez un projet de construction dans CodeBuild. Pour de plus amples informations, veuillez consulter [Création d'un projet de génération](create-project.md).
**Important**  
Le projet de génération doit définir des paramètres d'artefact de sortie de génération (même si CodePipeline va remplace). Pour de plus amples informations, consultez la description de `artifacts` dans [Création d'un projet de génération (AWS CLI)](create-project.md#create-project-cli).

1. Assurez-vous d'avoir configuré la clé AWS CLI d' AWS accès et la clé d'accès AWS secrète correspondant à l'une des entités IAM décrites dans cette rubrique. Pour de plus amples informations, veuillez consulter [Préparation de l'installation de l' AWS Command Line Interface](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-set-up.html) dans le *Guide de l'utilisateur AWS Command Line Interface *.

1. Créez un fichier au format JSON représentant la structure du pipeline. Nommez le fichier `create-pipeline.json` ou avec un nom similaire. Par exemple, cette structure au format JSON crée un pipeline avec une action source qui référence un compartiment d'entrée S3 et une action de génération utilisant CodeBuild :

   ```
   {
     "pipeline": {
       "roleArn": "arn:aws:iam::<account-id>:role/<AWS-CodePipeline-service-role-name>",
       "stages": [
         {
           "name": "Source",
           "actions": [
             {
               "inputArtifacts": [],
               "name": "Source",
               "actionTypeId": {
                 "category": "Source",
                 "owner": "AWS",
                 "version": "1",
                 "provider": "S3"
               },
               "outputArtifacts": [
                 {
                   "name": "MyApp"
                 }
               ],
               "configuration": {
                 "S3Bucket": "<bucket-name>",
                 "S3ObjectKey": "<source-code-file-name.zip>"
               },
               "runOrder": 1
             }
           ]
         },
         {
           "name": "Build",
           "actions": [
             {
               "inputArtifacts": [
                 {
                   "name": "MyApp"
                 }
               ],
               "name": "Build",
               "actionTypeId": {
                 "category": "Build",
                 "owner": "AWS",
                 "version": "1",
                 "provider": "CodeBuild"
               },
               "outputArtifacts": [
                 {
                   "name": "default"
                 }
               ],
               "configuration": {
                 "ProjectName": "<build-project-name>"
               },
               "runOrder": 1
             }
           ]
         }
       ],
       "artifactStore": {
         "type": "S3",
         "location": "<CodePipeline-internal-bucket-name>"
       },
       "name": "<my-pipeline-name>",
       "version": 1
     }
   }
   ```

   Dans ces données au format JSON :
   + La valeur de `roleArn` doit correspondre à l'ARN du rôle de CodePipeline service que vous avez créé ou identifié dans le cadre des prérequis.
   + Les valeurs de `S3Bucket` et `S3ObjectKey` dans `configuration` supposent que le code source est stocké dans un compartiment S3. Pour les paramètres pour d'autres types de référentiel de code source, veuillez consulter [Référence sur la structure du pipeline CodePipeline ](https://docs.aws.amazon.com/codepipeline/latest/userguide/pipeline-structure.html) dans le *Guide de l'utilisateur AWS CodePipeline *.
   + La valeur de `ProjectName` est le nom du projet de CodeBuild construction que vous avez créé plus tôt dans cette procédure.
   + La valeur de `location` est le nom du compartiment S3 utilisé par ce pipeline. Pour de plus amples informations, veuillez consulter [Création d'une stratégie pour un compartiment S3 en vue de l'utiliser comme magasin d'artefacts pour CodePipeline](https://docs.aws.amazon.com/codepipeline/latest/userguide/access-permissions.html#how-to-create-bucket-policy) dans le *Guide de l'utilisateur AWS CodePipeline *.
   + La valeur de `name` est le nom de ce pipeline. Tous les noms de pipeline doivent être uniques dans votre compte.

   Bien que ces données ne décrivent qu'une action source et une action de génération, vous pouvez ajouter des actions pour les activités liées aux tests, au déploiement de l'artefact de sortie de génération, à l'invocation de AWS Lambda fonctions, etc. Pour de plus amples informations, veuillez consulter [Référence sur la structure du pipeline AWS CodePipeline](https://docs.aws.amazon.com/codepipeline/latest/userguide/pipeline-structure.html) dans le *Guide de l'utilisateur AWS CodePipeline *.

1. Accédez au dossier contenant le fichier JSON, puis exécutez la CodePipeline **[create-pipeline](https://docs.aws.amazon.com/cli/latest/reference/codepipeline/create-pipeline.html)** commande en spécifiant le nom du fichier :

   ```
   aws codepipeline create-pipeline --cli-input-json file://create-pipeline.json
   ```
**Note**  
Vous devez créer le pipeline dans une AWS région où il CodeBuild est pris en charge. Pour plus d’informations, consultez [AWS CodeBuild](https://docs.aws.amazon.com/general/latest/gr/rande.html#codebuild_region) dans le *Référence générale d'Amazon Web Services*.

   Les données au format JSON apparaissent dans la sortie et CodePipeline créent le pipeline.

1. Pour obtenir des informations sur l'état du pipeline, exécutez la CodePipeline **[get-pipeline-state](https://docs.aws.amazon.com/cli/latest/reference/codepipeline/get-pipeline-state.html)** commande en spécifiant le nom du pipeline :

   ```
   aws codepipeline get-pipeline-state --name <my-pipeline-name>
   ```

   Dans la sortie, recherchez les informations qui confirment que la génération a réussi. Des ellipses (`...`) sont utilisées pour les données qui ont été omises par souci de concision.

   ```
   {
     ...
     "stageStates": [
       ...  
       {
         "actionStates": [
           {
             "actionName": "CodeBuild",
             "latestExecution": {
               "status": "SUCCEEDED",
               ...
             },
             ...
           }
         ]
       }
     ]
   }
   ```

   Si vous exécutez cette commande trop tôt, vous risquez de ne voir aucune information sur l'action de génération. Vous devrez peut-être exécuter cette commande plusieurs fois jusqu'à ce que le pipeline ait fini d'exécuter l'action de génération.

1. Après une génération réussie, suivez ces instructions pour obtenir l'artefact de sortie de la génération. Ouvrez la console Amazon S3 à l'adresse [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).
**Note**  
Vous pouvez également obtenir l'artefact de sortie de la génération en choisissant le lien **Artefacts de génération** sur la page des détails de génération associées dans la console CodeBuild. Pour accéder à cette page, ignorez les autres étapes de cette procédure et consultez [Affichage des détails d'une génération (console)](view-build-details.md#view-build-details-console).

1. Dans la liste des compartiments, ouvrez le compartiment utilisé par le pipeline. Le nom du compartiment doit suivre le format `codepipeline-<region-ID>-<random-number>`. Vous pouvez obtenir le nom du compartiment à partir du `create-pipeline.json` fichier ou exécuter la CodePipeline **get-pipeline** commande pour obtenir le nom du compartiment.

   ```
   aws codepipeline get-pipeline --name <pipeline-name>
   ```

    Dans la sortie, l'objet `pipeline` contient un objet `artifactStore` contenant une valeur `location` avec le nom du compartiment.

1. Ouvrez le dossier correspondant au nom de votre pipeline (par exemple, `<pipeline-name>`).

1. Dans ce dossier, ouvrez le dossier nommé `default` (par défaut).

1. Extrayez le contenu du fichier . Si ce dossier contient plusieurs fichiers, extrayez le contenu du fichier avec le dernier horodatage **Last Modified**. (Vous pouvez attribuer au fichier une extension `.zip` pour pouvoir l'utiliser avec l'utilitaire ZIP de votre système.) L'artefact de sortie de génération figure dans le contenu extrait du fichier.

# Ajouter une CodeBuild action de génération à un pipeline (CodePipeline console)
<a name="how-to-create-pipeline-add"></a>

1. Connectez-vous au AWS Management Console en utilisant :
   + Votre compte AWS root. Ceci n'est pas recommandé. Pour plus d'informations, consultez [la section L'utilisateur root du compte](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html) dans le *guide de l'utilisateur*.
   + Utilisateur administrateur de votre AWS compte. Pour plus d'informations, consultez la section [Création de votre premier utilisateur et de votre premier groupe Compte AWS root](https://docs.aws.amazon.com/IAM/latest/UserGuide/getting-started_create-admin-group.html) dans le *guide de l'utilisateur*.
   + Un utilisateur de votre AWS compte autorisé à effectuer les actions minimales suivantes :

     ```
     codepipeline:*
     iam:ListRoles
     iam:PassRole
     s3:CreateBucket
     s3:GetBucketPolicy
     s3:GetObject
     s3:ListAllMyBuckets
     s3:ListBucket
     s3:PutBucketPolicy
     codecommit:ListBranches
     codecommit:ListRepositories
     codedeploy:GetApplication
     codedeploy:GetDeploymentGroup
     codedeploy:ListApplications
     codedeploy:ListDeploymentGroups
     elasticbeanstalk:DescribeApplications
     elasticbeanstalk:DescribeEnvironments
     lambda:GetFunctionConfiguration
     lambda:ListFunctions
     opsworks:DescribeStacks
     opsworks:DescribeApps
     opsworks:DescribeLayers
     ```

1. Ouvrez la CodePipeline console à l'adresse [https://console.aws.amazon.com/codesuite/codepipeline/home](https://console.aws.amazon.com/codesuite/codepipeline/home).

1. Dans le sélecteur de AWS région, choisissez la AWS région où se trouve votre pipeline. Il doit s'agir d'une région prise CodeBuild en charge. Pour plus d’informations, consultez [CodeBuild](https://docs.aws.amazon.com/general/latest/gr/rande.html#codebuild_region) dans le *Référence générale d'Amazon Web Services*.

1. Sur la page **Tous les pipelines**, choisissez le nom du pipeline.

1. Sur la page des détails du pipeline, dans l'action **Source**, sélectionnez l'info-bulle. Notez la valeur de l'**artefact de sortie** (par exemple, **MyApp**).
**Note**  
Cette procédure vous explique comment ajouter une action de génération lors d'une étape de génération, entre les étapes **Source** et **Bêta**. Si vous souhaitez ajouter l'action de génération ailleurs, sélectionnez l'info-bulle de l'action juste avant l'emplacement où vous voulez ajouter l'action de génération, et notez la valeur du champ **Artefact de sortie**.

1. Choisissez **Modifier**.

1. Entre les étapes **Source** et **Bêta**, choisissez **Ajouter une étape**.
**Note**  
Cette procédure vous explique comment ajouter une étape de génération entre les étapes **Source** et **Bêta** du pipeline. Pour ajouter une action de génération à une étape existante, choisissez **Edit stage (Modifier une étape)** à l'étape, puis passez directement à l'étape 8 de cette procédure. Pour ajouter ailleurs l'étape de génération, choisissez **Add stage (Ajouter une étape)** à l'emplacement voulu.

     
![\[Comment ajouter une phase de construction entre les étapes source et bêta à votre pipeline.\]](http://docs.aws.amazon.com/fr_fr/codebuild/latest/userguide/images/create-stage.png)

   

1. Pour **Stage name (Nom de l'étape)**, saisissez le nom de l'étape de génération (par exemple, **Build**). Si vous choisissez un autre nom, utilisez-le tout au long de cette procédure.

1. Au sein de l'étape sélectionnée, choisissez **Ajouter une action**.
**Note**  
Cette procédure vous explique comment ajouter l'action de génération lors d'une étape de génération. Pour ajouter ailleurs l'action de génération, choisissez **Ajouter une action** à l'emplacement voulu. Vous devrez peut-être d'abord choisir l'étape **Modifier** dans l'étape existante dans laquelle vous voulez générer l'action.

1. Dans **Modifier l'action**, pour **Nom de l'action**, saisissez un nom pour l'action (par exemple, **CodeBuild**). Si vous choisissez un autre nom, utilisez-le tout au long de cette procédure.

1. Pour **Action provider (Fournisseur d'action)**, choisissez **CodeBuild**.

1. Si vous avez déjà un projet de construction que vous souhaitez utiliser, dans **Nom du projet**, choisissez le nom du projet de construction et passez à l'étape suivante de cette procédure.

   Si vous devez créer un nouveau projet de CodeBuild construction, suivez les instructions fournies [Création d'un projet de génération (console)](create-project.md#create-project-console) et revenez à cette procédure.

   Si vous choisissez un projet de construction existant, les paramètres d'artefact de sortie de construction doivent déjà être définis (même s'ils les CodePipeline remplacent). Pour de plus amples informations, consultez la description d'**Artefacts** dans [Création d'un projet de génération (console)](create-project.md#create-project-console) ou [Modification des paramètres d'un projet de génération (console)](change-project.md#change-project-console).
**Important**  
Si vous activez les webhooks pour un CodeBuild projet et que le projet est utilisé comme étape de construction CodePipeline, deux versions identiques sont créées pour chaque validation. L'une est déclenchée via des webhooks et l'autre via CodePipeline. Comme la facturation est effectuée par génération, les deux générations vous sont facturées. Par conséquent, si vous utilisez CodePipeline, nous vous recommandons de désactiver les webhooks dans CodeBuild. Dans la CodeBuild console, décochez la case **Webhook**. Pour de plus amples informations, consultez [Modification des paramètres d'un projet de génération (console)](change-project.md#change-project-console).

1. Pour **Input artifacts (Artefacts d'entrée)**, sélectionnez l'artefact de sortie que vous avez notée précédemment dans cette procédure.

1. Pour **Artefacts de sortie**, saisissez un nom pour l'artefact de sortie (par exemple, **MyAppBuild**). 

1. Choisissez **Add action**.

1. Choisissez **Save (Enregistrer)**, puis**Save (Enregistrer)** pour enregistrer les modifications apportées au pipeline.

1. Choisissez **Release Change**.

1. Une fois que le pipeline s'exécute correctement, vous pouvez obtenir l'artefact de sortie de la génération. Le pipeline étant affiché dans la CodePipeline console, dans l'action **Construire**, choisissez l'infobulle. Notez la valeur de l'**artefact de sortie** (par exemple, **MyAppBuild**).
**Note**  
Vous pouvez également obtenir l'artefact de sortie du build en cliquant sur le lien **Build artefacts** sur la page des détails du build dans la CodeBuild console. Pour accéder à cette page, consultez [Affichage des détails d'une génération (console)](view-build-details.md#view-build-details-console), puis passez directement à l'étape 31 de cette procédure.

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

1. Dans la liste des compartiments, ouvrez le compartiment utilisé par le pipeline. Le nom du compartiment doit suivre le format `codepipeline-region-ID-random-number`. Vous pouvez utiliser le AWS CLI pour exécuter la CodePipeline **get-pipeline** commande afin d'obtenir le nom du bucket :

   ```
   aws codepipeline get-pipeline --name my-pipeline-name
   ```

    Dans la sortie, l'objet `pipeline` contient un objet `artifactStore` contenant une valeur `location` avec le nom du compartiment.

1. Ouvrez le dossier correspondant au nom de votre pipeline (selon la longueur du nom du pipeline, le nom de dossier peut être tronqué), puis ouvrez le dossier correspondant à la valeur pour **Output artifact (Artefact de sortie)** que vous avez notée précédemment dans cette procédure.

1. Extrayez le contenu du fichier . Si ce dossier contient plusieurs fichiers, extrayez le contenu du fichier avec le dernier horodatage **Last Modified**. (Vous pouvez attribuer au fichier l'extension `.zip` pour pouvoir l'utiliser avec l'utilitaire ZIP de votre système.) L'artefact de sortie de génération figure dans le contenu extrait du fichier.

1. Si vous avez demandé CodePipeline de déployer l'artefact de sortie de génération, utilisez les instructions du fournisseur de déploiement pour accéder à l'artefact de sortie de génération sur les cibles de déploiement.

# Ajouter une action de CodeBuild test à un pipeline (CodePipeline console)
<a name="how-to-create-pipeline-add-test"></a>

1. Connectez-vous au AWS Management Console en utilisant :
   + Votre compte AWS root. Ceci n'est pas recommandé. Pour plus d'informations, consultez [la section L'utilisateur root du compte](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html) dans le *guide de l'utilisateur*.
   + Utilisateur administrateur de votre AWS compte. Pour plus d'informations, consultez la section [Création de votre premier utilisateur et de votre premier groupe Compte AWS root](https://docs.aws.amazon.com/IAM/latest/UserGuide/getting-started_create-admin-group.html) dans le *guide de l'utilisateur*.
   + Un utilisateur de votre AWS compte autorisé à effectuer les actions minimales suivantes :

     ```
     codepipeline:*
     iam:ListRoles
     iam:PassRole
     s3:CreateBucket
     s3:GetBucketPolicy
     s3:GetObject
     s3:ListAllMyBuckets
     s3:ListBucket
     s3:PutBucketPolicy
     codecommit:ListBranches
     codecommit:ListRepositories
     codedeploy:GetApplication
     codedeploy:GetDeploymentGroup
     codedeploy:ListApplications
     codedeploy:ListDeploymentGroups
     elasticbeanstalk:DescribeApplications
     elasticbeanstalk:DescribeEnvironments
     lambda:GetFunctionConfiguration
     lambda:ListFunctions
     opsworks:DescribeStacks
     opsworks:DescribeApps
     opsworks:DescribeLayers
     ```

1. Ouvrez la CodePipeline console sur [https://console.aws.amazon.com/codesuite/codepipeline/home](https://console.aws.amazon.com/codesuite/codepipeline/home).

1. Dans le sélecteur de AWS région, choisissez la AWS région où se trouve votre pipeline. Il doit s'agir d'une AWS région prise CodeBuild en charge. Pour plus d’informations, consultez [AWS CodeBuild](https://docs.aws.amazon.com/general/latest/gr/rande.html#codebuild_region) dans le *Référence générale d'Amazon Web Services*.

1. Sur la page **Tous les pipelines**, choisissez le nom du pipeline.

1. Sur la page des détails du pipeline, dans l'action **Source**, sélectionnez l'info-bulle. Notez la valeur de l'**artefact de sortie** (par exemple, **MyApp**).
**Note**  
Cette procédure vous explique comment ajouter une action de test lors d'une étape de test, entre les étapes **Source** et **Bêta**. Si vous souhaitez ajouter l'action de test ailleurs, placez le pointeur de la souris sur l'action juste avant et notez la valeur pour **Artefact de sortie**.

1. Choisissez **Modifier**.

1. Immédiatement après l'étape **Source**, choisissez **Add stage (Ajouter une étape)**.
**Note**  
Cette procédure vous explique comment ajouter au pipeline une étape de test immédiatement après l'étape **Source**. Pour ajouter une action de test à une étape existante, choisissez **Edit stage (Modifier une étape)** à l'étape, puis passez directement à l'étape 8 de cette procédure. Pour ajouter ailleurs l'étape de test, choisissez **Add stage (Ajouter une étape)** à l'emplacement voulu.  
![\[Comment ajouter une phase de test immédiatement après l'étape Source à votre pipeline.\]](http://docs.aws.amazon.com/fr_fr/codebuild/latest/userguide/images/create-stage.png)

   

1. Pour **Stage name (Nom de l'étape)**, tapez le nom de l'étape de test (par exemple, **Test**). Si vous choisissez un autre nom, utilisez-le tout au long de cette procédure.

1. À l'étape sélectionnez, choisissez **Ajouter une action**.
**Note**  
Cette procédure vous explique comment ajouter l'action de test à une étape de test. Pour ajouter l'action de test ailleurs, choisissez **Add action (Ajouter une action)** à l'endroit voulu. Vous devrez peut-être d'abord choisir **Edit (Modifier)** dans l'étape existante à laquelle vous voulez ajouter l'action de test.

1. Dans **Modifier l'action**, pour **Nom de l'action**, saisissez un nom pour l'action (par exemple, **Test**). Si vous choisissez un autre nom, utilisez-le tout au long de cette procédure.

1. Pour **Action provider (Fournisseur d'actions)**, sous **Test**, choisissez **CodeBuild**.

1. Si vous avez déjà un projet de construction que vous souhaitez utiliser, dans **Nom du projet**, choisissez le nom du projet de construction et passez à l'étape suivante de cette procédure.

   Si vous devez créer un nouveau projet de CodeBuild construction, suivez les instructions fournies [Création d'un projet de génération (console)](create-project.md#create-project-console) et revenez à cette procédure.
**Important**  
Si vous activez les webhooks pour un CodeBuild projet et que le projet est utilisé comme étape de construction CodePipeline, deux versions identiques sont créées pour chaque validation. L'une est déclenchée via des webhooks et l'autre via CodePipeline. Comme la facturation est effectuée par génération, les deux générations vous sont facturées. Par conséquent, si vous utilisez CodePipeline, nous vous recommandons de désactiver les webhooks dans CodeBuild. Dans la CodeBuild console, décochez la case **Webhook**. Pour de plus amples informations, consultez [Modification des paramètres d'un projet de génération (console)](change-project.md#change-project-console).

1. Pour **Input artifacts (Artefacts d'entrée)**, sélectionnez la valeur **Output artifact (Artefact de sortie)** que vous avez notée précédemment dans cette procédure.

1. (Facultatif) Si vous voulez que votre action de test génère un artefact de sortie et que vous avez configuré votre spécification de génération en conséquence, pour **Artefact de sortie**, entrez la valeur que vous voulez affecter à l'artefact de sortie.

1. Choisissez **Enregistrer**.

1. Choisissez **Release Change**.

1. Une fois que le pipeline s'est exécuté avec succès, vous pouvez obtenir les résultats de test. Dans la phase de **test** du pipeline, choisissez le **CodeBuild**lien hypertexte pour ouvrir la page du projet de construction correspondante dans la CodeBuild console.

   

1. Sur la page de projet de génération, dans la zone **Historique de génération**, choisissez le lien hypertexte **Exécution de génération**.

1. Sur la page d'exécution de la compilation, dans **Build logs**, cliquez **sur le lien hypertexte Afficher le journal complet** pour ouvrir le journal de build dans la CloudWatch console Amazon.

1. Faites défiler le journal de génération pour consulter les résultats de test.

# Utilisation AWS CodeBuild avec Codecov
<a name="codecov-integration"></a>

Codecov est un outil qui mesure la couverture de test de votre code. Codecov identifie quelles méthodes et instructions de votre code ne sont pas testées. Utilisez les résultats pour déterminer à quel niveau il pourrait être utile de créer des tests pour améliorer la qualité de votre code. Codecov est disponible pour trois des référentiels sources pris en charge par CodeBuild : GitHub Enterprise Server GitHub et Bitbucket. Si votre projet de build utilise GitHub Enterprise Server, vous devez utiliser Codecov Enterprise.

 Lorsque vous exécutez la version d'un CodeBuild projet intégré à Codecov, les rapports Codecov qui analysent le code de votre référentiel sont téléchargés vers Codecov. Les journaux de génération comprennent un lien vers ces rapports. Cet exemple montre comment intégrer un projet de génération Python et Java avec Codecov. Pour obtenir la liste des langues prises en charge par Codecov, veuillez consulter [Langues prises en charge par Codecov](https://docs.codecov.io/docs/supported-languages) sur le site web de Codecov.

## Intégration de Codecov dans un projet de génération
<a name="integrate-codecov"></a>

Utilisez la procédure suivante pour intégrer Codecov dans un projet de construction.

**Pour intégrer Codecov dans votre projet de génération**

1. Accédez à [https://codecov.io/signup](https://codecov.io/signup) et inscrivez-vous à un dépôt source GitHub ou à un dépôt de données Bitbucket. Si vous utilisez GitHub Enterprise, consultez [Codecov Enterprise](https://codecov.io/enterprise) sur le site Web de Codecov. 

1.  Dans Codecov, ajoutez le référentiel pour lequel vous souhaitez couvrir le code. 

1.  Lorsque les informations de jeton sont affichées, choisissez **Copy (Copier)**.   
![\[Les informations du jeton s'affichent.\]](http://docs.aws.amazon.com/fr_fr/codebuild/latest/userguide/images/codecov-token.png)

1.  Ajoutez le jeton copié en tant que variable d'environnement `CODECOV_TOKEN` à votre projet de génération. Pour de plus amples informations, veuillez consulter [Modification des paramètres d'un projet de génération (console)](change-project.md#change-project-console). 

1.  Créez un fichier texte nommé `my_script.sh` dans votre référentiel. Copiez ce qui suit dans ce fichier : 

   ```
   #/bin/bash
   bash <(curl -s https://codecov.io/bash) -t $CODECOV_TOKEN
   ```

1.  Choisissez l'onglet **Python** ou **Java** selon les utilisations de votre projet de génération, puis procédez comme suit. 

------
#### [ Java ]

   1.  Ajoutez le JaCoCo plugin suivant `pom.xml` dans votre dépôt. 

      ```
      <build>
        <plugins>
          <plugin>
            <groupId>org.jacoco</groupId>
            <artifactId>jacoco-maven-plugin</artifactId>
            <version>0.8.2</version>
            <executions>
                <execution>
                    <goals>
                        <goal>prepare-agent</goal>
                    </goals>
                </execution>
                <execution>
                    <id>report</id>
                    <phase>test</phase>
                    <goals>
                        <goal>report</goal>
                    </goals>
                </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
      ```

   1.  Entrez les commandes suivantes dans le fichier buildspec. Pour de plus amples informations, veuillez consulter [Syntaxe d'un fichier buildspec](build-spec-ref.md#build-spec-ref-syntax). 

      ```
      build:
        - mvn test -f pom.xml -fn
      postbuild:
        - echo 'Connect to CodeCov'
        - bash my_script.sh
      ```

------
#### [ Python ]

    Entrez les commandes suivantes dans le fichier buildspec. Pour de plus amples informations, veuillez consulter [Syntaxe d'un fichier buildspec](build-spec-ref.md#build-spec-ref-syntax). 

   ```
   build:
     - pip install coverage
     - coverage run -m unittest discover
   postbuild:
     - echo 'Connect to CodeCov'
     - bash my_script.sh
   ```

------

1.  Exécutez une version du projet de génération. Un lien vers les rapports Codecov générés pour votre projet apparaît dans les journaux de génération. Utilisez ce lien pour afficher les rapports Codecov. Pour plus d’informations, consultez [Exécuter AWS CodeBuild les builds manuellement](run-build.md) et [Enregistrez les appels AWS CodeBuild d'API avec AWS CloudTrail](cloudtrail.md). Les informations Codecov dans les journaux de génération ressemblent à ce qui suit : 

   ```
   [Container] 2020/03/09 16:31:04 Running command bash my_script.sh
   
     _____          _
    / ____|        | |
   | |     ___   __| | ___  ___ _____   __
   | |    / _ \ / _` |/ _ \/ __/ _ \ \ / /
   | |___| (_) | (_| |  __/ (_| (_) \ V /
    \_____\___/ \__,_|\___|\___\___/ \_/
                                 Bash-20200303-bc4d7e6
   
   ·[0;90m==>·[0m AWS CodeBuild detected.
   ... The full list of Codecov log entries has been omitted for brevity ...
       ·
       ·[0;32m->·[0m View reports at ·[0;36mhttps://codecov.io/github/user/test_py/commit/commit-id·[0m
   
   [Container] 2020/03/09 16:31:07 Phase complete: POST_BUILD State: SUCCEEDED
   ```

    Les rapports se présentent comme suit :   
![\[Les exemples de rapports.\]](http://docs.aws.amazon.com/fr_fr/codebuild/latest/userguide/images/codecov-report.png)

# À utiliser AWS CodeBuild avec Jenkins
<a name="jenkins-plugin"></a>

Vous pouvez utiliser le plugin Jenkins pour l'intégrer AWS CodeBuild à vos CodeBuild tâches de génération Jenkins. Au lieu d'envoyer les tâches de génération aux nœuds de génération Jenkins, vous utilisez le plug-in pour envoyer vos tâches de génération à CodeBuild. Vous n'avez ainsi plus besoin d'allouer, de configurer et de gérer des nœuds de génération Jenkins.

**Topics**
+ [Configurer Jenkins](#setup-jenkins)
+ [Installer le plug-in](#plugin-installation)
+ [Utiliser le plugin](#plugin-usage)

## Configurer Jenkins
<a name="setup-jenkins"></a>

Pour plus d'informations sur la configuration de Jenkins avec le AWS CodeBuild plugin et pour télécharger le code source du plugin, consultez [ https://github.com/awslabs/aws-codebuild-jenkins-plugin](https://github.com/awslabs/aws-codebuild-jenkins-plugin).

## Installer le plug-in
<a name="plugin-installation"></a>

Si Jenkins est déjà configuré et que vous souhaitez uniquement installer le plug-in AWS CodeBuild , accédez à votre instance Jenkins, puis dans le gestionnaire de plug-in, recherchez **CodeBuild Plugin for Jenkins**.

## Utiliser le plugin
<a name="plugin-usage"></a><a name="source-available-outside-of-your-vpc"></a>

**À utiliser AWS CodeBuild avec des sources extérieures à un VPC**

1. Créez un projet dans la CodeBuild console. Pour de plus amples informations, veuillez consulter [Création d'un projet de génération (console)](create-project.md#create-project-console). 
   + Choisissez la AWS région dans laquelle vous souhaitez exécuter le build.
   + (Facultatif) Définissez la configuration Amazon VPC pour permettre au conteneur de CodeBuild build d'accéder aux ressources de votre VPC.
   + Notez le nom de votre projet. Vous en aurez besoin à l'étape 3.
   + (Facultatif) Si votre référentiel source n'est pas pris en charge de manière native par CodeBuild, vous pouvez définir Amazon S3 comme type de source d'entrée pour votre projet.

1. Dans le IAMconsole, créez un utilisateur à utiliser par le plugin Jenkins. 
   + Lorsque vous créez des informations d'identification pour l'utilisateur, choisissez **Programmatic Access** (Accès par programmation).
   + Créez une stratégie similaire à ce qui suit, puis attachez la stratégie à votre utilisateur.

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

****  

     ```
     {
         "Version":"2012-10-17",		 	 	 
         "Statement": [
             {
                 "Effect": "Allow",
                 "Resource": [
                     "arn:aws:logs:us-east-1:111122223333:log-group:/aws/codebuild/{{projectName}}:*"
                 ],
                 "Action": [
                     "logs:GetLogEvents"
                 ]
             },
             {
                 "Effect": "Allow",
                 "Resource": [
                     "arn:aws:s3:::{{inputBucket}}"
                 ],
                 "Action": [
                     "s3:GetBucketVersioning"
                 ]
             },
             {
                 "Effect": "Allow",
                 "Resource": [
                     "arn:aws:s3:::{{inputBucket}}/{{inputObject}}"
                 ],
                 "Action": [
                     "s3:PutObject"
                 ]
             },
             {
                 "Effect": "Allow",
                 "Resource": [
                     "arn:aws:s3:::{{outputBucket}}/*"
                 ],
                 "Action": [
                     "s3:GetObject"
                 ]
             },
             {
                 "Effect": "Allow",
                 "Resource": [
                     "arn:aws:codebuild:us-east-1:111122223333:project/{{projectName}}"
                 ],
                 "Action": [
                     "codebuild:StartBuild",
                     "codebuild:BatchGetBuilds",
                     "codebuild:BatchGetProjects"
                 ]
             }
         ]
     }
     ```

------

1. Créez un projet freestyle dans Jenkins.
   + Sur la page **Configure (Configurer)**, choisissez **Add build step (Ajouter une étape de génération)**, puis choisissez **Run build on CodeBuild (Exécuter la génération sur &ACB;)**.
   + Configurez votre étape de génération.
     + Fournissez des valeurs pour **Region** (Région), **Credentials** (Informations d'identification) et **Project Name** (Nom du projet).
     + Choisissez **Use Project source** (Utiliser la source de projet).
     + Enregistrez la configuration et exécutez une génération à partir de Jenkins.

1. Pour **Source Code Management** (Gestion de code source), choisissez la façon dont vous souhaitez récupérer votre source. Vous devrez peut-être installer le GitHub plugin (ou le plugin Jenkins pour votre fournisseur de référentiel source) sur votre serveur Jenkins.
   + Sur la page **Configure (Configurer)**, choisissez **Add build step (Ajouter une étape de génération)**, puis choisissez **Run build on AWS CodeBuild(Exécuter la génération sur &ACB;)**.
   + Configurez votre étape de génération.
     + Fournissez des valeurs pour **Region** (Région), **Credentials** (Informations d'identification) et **Project Name** (Nom du projet).
     + Choisissez **Use Jenkins source** (Utiliser la source Jenkins).
     + Enregistrez la configuration et exécutez une génération à partir de Jenkins.<a name="jenkins-pipeline-plugin"></a>

**Pour utiliser le AWS CodeBuild plugin avec le plugin Jenkins Pipeline**
+ Sur la page de votre projet de pipeline Jenkins, utilisez le générateur d'extraits pour générer un script de pipeline qui s'ajoute en CodeBuild tant qu'étape à votre pipeline. Cela doit générer un script semblable à ce qui suit :

  ```
  awsCodeBuild projectName: 'project', credentialsType: 'keys', region: 'us-west-2', sourceControlType: 'jenkins'
  ```

# Utilisation AWS CodeBuild avec des applications sans serveur
<a name="serverless-applications"></a>

The AWS Serverless Application Model (AWS SAM) est un framework open source permettant de créer des applications sans serveur. Pour plus d'informations, consultez le référentiel de [modèles d'applications AWS sans serveur](https://github.com/awslabs/serverless-application-model) sur GitHub.

Vous pouvez l'utiliser AWS CodeBuild pour empaqueter et déployer des applications sans serveur conformes à la AWS SAM norme. Pour l'étape de déploiement, CodeBuild vous pouvez utiliser AWS CloudFormation. Pour automatiser la création et le déploiement d'applications sans serveur avec CodeBuild et CloudFormation, vous pouvez utiliser AWS CodePipeline.

Pour plus d'informations, consultez la section [Déploiement d'applications sans serveur](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-deploying.html) dans le *guide du AWS Serverless Application Model développeur*.

## Ressources connexes
<a name="acb-more-info"></a>
+ Pour plus d'informations sur la prise en AWS CodeBuild main, consultez[Commencer à AWS CodeBuild utiliser la console](getting-started-overview.md#getting-started).
+ Pour plus d'informations sur la résolution des problèmes dans CodeBuild, voir[Résolution des problèmes AWS CodeBuild](troubleshooting.md).
+ Pour plus d'informations sur les quotas dans CodeBuild, voir[Quotas pour AWS CodeBuild](limits.md).

# Notices émanant de tiers AWS CodeBuild pour Windows
<a name="notice"></a>

Lorsque vous utilisez des versions CodeBuild pour Windows, vous avez la possibilité d'utiliser des packages et modules tiers pour permettre à votre application créée de s'exécuter sur les systèmes d'exploitation Microsoft Windows et d'interagir avec certains produits tiers. La liste suivante contient les conditions d'utilisation légales tierces qui régissent votre utilisation des packages/modules tiers spécifiés.

**Topics**
+ [1) image Docker de base — Windowsservercore](#base-docker-image)
+ [2) Image Docker basée sur Window—choco](#3-windows-base-docker-image)
+ [3) Image Docker basée sur Windows : git --version 2.16.2](#4-windows-base-docker-image-2-16-2)
+ [4) Image Docker basée sur Windows — --version 15.0.26320.2 microsoft-build-tools](#5-windows-base-docker-image-15-x)
+ [5) Image Docker basée sur Windows : nuget.commandline --version 4.5.1](#6-windows-base-docker-image-4-5-1)
+ [7) Image Docker basée sur Windows : netfx-4.6.2-devpack](#7-windows-base-docker-image-4-6-2)
+ [8) Image Docker basée sur Windows — visualfsharptools, version 4.0](#8-windows-base-docker-image-visualfsharptools)
+ [9) Image Docker basée sur Windows : -4,6 netfx-pcl-reference-assemblies](#9-windows-base-docker-image)
+ [10) Image Docker basée sur Windows — visualcppbuildtools v 14.0.25420.1](#10-windows-base-docker-image)
+ [11) Image Docker basée sur Windows : 3-ondemand-package.cab microsoft-windows-netfx](#11-windows-base-docker-image)
+ [12) Image Docker basée sur Windows : dotnet-sdk](#12-windows-base-docker-image)

## 1) image Docker de base — Windowsservercore
<a name="base-docker-image"></a>

(les termes du contrat de licence sont disponibles à l'adresse suivante : [https://hub.docker.com/\$1/microsoft-windows-servercore)](https://hub.docker.com/_/microsoft-windows-servercore)

Licence : Par la demande et l'utilisation de cette image de conteneur du système d'exploitation pour les conteneurs Windows, vous reconnaissez, comprenez et acceptez les conditions du contrat de licence complémentaire suivantes :

CONDITIONS DU CONTRAT DE LICENCE COMPLÉMENTAIRE DU LOGICIEL MICROSOFT

IMAGE DE CONTENEUR DU SYSTÈME D'EXPLOITATION

Microsoft Corporation (ou selon votre lieu de résidence, l'une de ses filiales) (référencé en tant que « nous » ou « Microsoft ») vous accorde la licence complémentaire de cette image de conteneur du système d'exploitation (ci-après désigné « Complément »). Vous êtes autorisé à utiliser ce Complément conjointement avec le système d'exploitation hôte sous-jacent (ci-après désigné « Logiciel Hôte ») uniquement pour faciliter l'exécution des conteneurs du Logiciel Hôte. Les conditions du contrat de licence du Logiciel Hôte s'appliquent à votre utilisation du Complément. Vous ne pouvez pas l'utiliser si vous ne disposez pas d'une licence pour le Logiciel Hôte. Vous pouvez utiliser ce Complément avec chaque copie sous licence valide du Logiciel Hôte.

EXIGENCES DE LICENCE SUPPLÉMENTAIRES DROITS AND/OR D'UTILISATION

Votre utilisation du Complément telle que spécifiée dans le paragraphe précédent peut entraîner la création ou la modification d'une image de conteneur (ci-après désigné « Image de conteneur ») qui inclut certains composants du Complément. Pour plus de clarté, une Image de conteneur est séparée et distincte d'une machine virtuelle ou d'une image d'appliance virtuelle. Conformément aux présentes conditions du contrat de licence, nous vous accordons un droit restreint de redistribuer lesdits composants du Complément sous les conditions suivantes :

(i) vous pouvez utiliser les composants du Complément uniquement tels qu'ils sont utilisés dans, et dans le cadre de votre Image de conteneur,

(ii) vous pouvez utiliser lesdits composants du Complément dans votre Image de conteneur tant que vous disposez de fonctionnalités principales importantes dans votre Image de conteneur qui sont matériellement séparées et distinctes du Complément ; et

(iii) vous acceptez d'inclure les présentes conditions du contrat de licence (ou des conditions semblables requises par nous ou un hôte) à votre Image de conteneur pour convenablement autoriser l'utilisation possible des composants du Complément par vos utilisateurs finaux.

Nous nous réservons tous les autres droits non accordés explicitement dans les présentes.

En utilisant le présent Complément, vous acceptez les présentes conditions. Si vous ne les acceptez pas, n'utilisez pas le présent Complément.

Dans le cadre des conditions de licence supplémentaires pour cette image de système d'exploitation de conteneur pour les conteneurs Windows, vous êtes également soumis aux termes de licence du logiciel hôte Windows Server sous-jacents, qui se trouvent à l'adresse : [https://www.microsoft.com/en-us/useterms](https://www.microsoft.com/en-us/useterms).

## 2) Image Docker basée sur Window—choco
<a name="3-windows-base-docker-image"></a>

(les termes du contrat de licence sont disponibles à l'adresse suivante : [https://github.com/chocolatey/choco/blob/master/LICENSE](https://github.com/chocolatey/choco/blob/master/LICENSE))

Tous droits réservés 2011 - Present RealDimensions Software, LLC

Sous licence d'Apache License, version 2.0 (ci-après désigné « Licence ») ; vous ne pouvez pas utiliser les présents fichiers sauf conformément à la Licence. Vous pouvez obtenir une copie de la Licence à l'adresse

[http://www.apache. org/licenses/LICENSE-2,0](http://www.apache.org/licenses/LICENSE-2.0)

Sauf si la loi applicable l'exige ou sauf accord écrit, le logiciel distribué conformément à la Licence est distribué « EN L'ÉTAT », SANS GARANTIE OU CONDITION D'AUCUNE SORTE, explicite ou implicite. Consultez la Licence pour les dispositions spécifiques régissant les autorisations et limitations dans le cadre de la Licence.

## 3) Image Docker basée sur Windows : git --version 2.16.2
<a name="4-windows-base-docker-image-2-16-2"></a>

(les termes du contrat de licence sont disponibles à l'[adresse suivante : https://chocolatey. org/packages/git/2,16,2](https://chocolatey.org/packages/git/2.16.2))

Sous licence publique générale GNU, version 2, disponible à l'adresse : [https://www.gnu.org/licenses/old-licenses/gpl-2.0.html](https://www.gnu.org/licenses/old-licenses/gpl-2.0.html).

## 4) Image Docker basée sur Windows — --version 15.0.26320.2 microsoft-build-tools
<a name="5-windows-base-docker-image-15-x"></a>

(les termes du contrat de licence sont disponibles à l'adresse : [https://www.visualstudio.com/license-terms/mt171552/)](https://www.visualstudio.com/license-terms/mt171552/)

MICROSOFT VISUAL STUDIO 2015 EXTENSIONS, VISUAL STUDIO SHELLS et C\$1\$1 REDISTRIBUTABLE

-----

Les présentes conditions du contrat de licence sont un accord entre Microsoft Corporation (ou selon votre lieu de résidence, l'une de ses filiales) et vous. Elles s'appliquent au logiciel désigné ci-dessus. Les conditions s'appliquent également à tous les services ou mises à jour Microsoft du logiciel, sauf dans la mesure où elles disposent de conditions supplémentaires.

-----

SI VOUS RESPECTEZ LES PRÉSENTES CONDITIONS DU CONTRAT DE LICENCE, VOUS DISPOSEZ DES DROITS CI-DESSOUS.

1. **INSTALLATION ET DROITS D'UTILISATION**. Vous pouvez installer et utiliser n'importe quel nombre de copies du logiciel.

1. **CONDITIONS POUR LES COMPOSANTS SPÉCIFIQUES**.

   1. **Utilitaires**. Le logiciel peut contenir certains éléments de la liste des utilitaires à l'adresse [https://docs.microsoft.com/en-us/visualstudio/productinfo/2015-redistribution-vs](https://docs.microsoft.com/en-us/visualstudio/productinfo/2015-redistribution-vs). Vous pouvez copier et installer ces éléments, s'ils sont inclus dans le logiciel, sur les vôtres ou sur d'autres machines tierces, pour déboguer et déployer les applications et les bases de données que vous avez développées avec le logiciel. Veuillez noter que les Utilitaires sont conçus pour une utilisation temporaire, que Microsoft ne peut pas corriger ou mettre à jour les Utilitaires séparément du reste du logiciel, et que certains Utilitaires par nature peuvent permettre à d'autres d'accéder à des machines sur lesquelles ils sont installés. Par conséquent, vous devez supprimer tous les Utilitaires installés après la fin du débogage ou du déploiement de vos applications et bases de données. Microsoft n'est pas responsable de toute utilisation tierce ou de tout accès tiers à des Utilitaires installés sur n'importe quelle machine.

   1. **Plateformes Microsoft**. Le logiciel peut inclure des composants provenant de Microsoft Windows, Microsoft Windows Server, Microsoft SQL Server, Microsoft Exchange, Microsoft Office et Microsoft SharePoint. Lesdits composants sont soumis à des accords séparés et leurs propres politiques d'assistance produit, tel que décrit dans les conditions du contrat de licence disponibles dans le répertoire d'installation dudit composant ou dans le dossier « Licences » accompagnant le logiciel.

   1. **Composants tiers**. Le logiciel peut inclure des composants tiers soumis à des mentions légales distinctes ou régis par d'autres accords, comme décrit dans le ThirdPartyNotices fichier accompagnant le logiciel. Même si lesdits composants sont soumis à d'autres accords, les exclusions de responsabilités, les limitations et les exclusions concernant les dommages ci-dessous s'appliquent également. Le logiciel peut également inclure des composants sous licence de licences open source avec les obligations de disponibilité du code source. Des copies de ces licences, le cas échéant, sont incluses dans le ThirdPartyNotices fichier. Vous pouvez obtenir ledit code source grâce à nous, si nécessaire et requis par les licences open source applicables, en envoyant un mandat ou un chèquede 5 dollars américain à l'adresse : Source Code Compliance Team, Microsoft Corporation, 1 Microsoft Way, Redmond WA 98052, États-Unis. Veuillez écrire le code source d'un ou de plusieurs des composants répertoriés ci-dessous dans la ligne réservée aux notes de votre paiement : 
      + Remote Tools for Visual Studio 2015 ;
      + Standalone Profiler for Visual Studio 2015 ;
      + IntelliTraceCollector pour Visual Studio 2015 ;
      + Microsoft VC\$1\$1 Redistributable 2015 ;
      + Multibyte MFC Library for Visual Studio 2015 ;
      + Microsoft Build Tools 2015 ;
      + Feedback Client ;
      + Visual Studio 2015 Integrated Shell ; ou
      + Visual Studio 2015 Isolated Shell.

      Nous pouvons également effectuer une copie du code source disponible à l'adresse [http://thirdpartysource.microsoft.com](http://thirdpartysource.microsoft.com).

1. **DONNÉES**. Le logiciel peut récupérer des informations sur vous et votre utilisation du logiciel, et les envoyer à Microsoft. Microsoft peut utiliser ces informations pour fournir des services et améliorer nos produits et services. Vous pouvez vous désinscrire de la plupart desdits scénarios, mais pas de tous, tel que décrit dans la documentation du produit. Il existe également des fonctionnalités dans le logiciel qui peuvent vous permettre de récupérer des données d'utilisateurs de vos applications. Si vous utilisez ces fonctionnalités pour activer la récupération de données dans vos applications, vous devez respecter la loi en vigueur, notamment en avertissant de manière appropriée les utilisateurs de vos applications. Pour en savoir plus sur la collecte et l'utilisation des données, consultez la documentation d'aide et la déclaration de confidentialité sur [https://privacy.microsoft.com/en-us/privacystatement](https://privacy.microsoft.com/en-us/privacystatement). Votre utilisation du logiciel sera considérée comme un consentement à ces pratiques.

1. **CHAMP D'APPLICATION DE LA LICENCE**. Le logiciel est fourni sous licence et non vendu. Cet accord vous concède uniquement certains droits pour utiliser le logiciel. Microsoft se réserve tous les autres droits. Sauf si la loi applicable vous concède davantage de droits malgré cette limitation, vous pouvez utiliser le logiciel uniquement tel qu'expressément autorisé dans ledit accord. Pour ce faire, vous devez respecter toutes les limitations techniques du logiciel qui vous autorisent à l'utiliser d'une certaine façon. Vous ne pouvez pas
   + contourner n'importe quelles limitations du logiciel ;
   + procéder à des opérations de rétro-ingénierie, décompiler ou désassembler le logiciel, ou essayez de le faire, sauf si exigé et uniquement dans la mesure requise par les conditions du contrat de licence tierces régissant l'utilisation de certains composants open source pouvant être inclus avec le logiciel ;
   + supprimer, minimiser, bloquer ou modifier toutes les mentions de Microsoft ou de ses fournisseurs dans le logiciel ;
   + utiliser le logiciel de manière illégale ; ou
   + partager, publier, louer ou céder en location le logiciel, ou proposer le logiciel en tant que solution hébergée autonome pour que d'autres personnes l'utilisent.

1. **RESTRICTIONS À L'EXPORTATION**. Vous devez respecter toutes les lois et réglementations d'exportation nationales et internationales qui s'appliquent au logiciel, qui incluent des restrictions sur des destinations, des utilisateurs finaux, et des utilisations finales. Pour plus d'informations sur les restrictions à l'exportation, visitez (aka.ms/exporting).

1. **SERVICES D'ASSISTANCE**. Étant donné que ce logiciel est fourni « en l'état », nous ne peuvent pas fournir de services d'assistance.

1. **ACCORD ENTIER**. Cet accord, et les conditions pour les compléments, les mises à jour, les services Internet et les services d'assistance que vous utilisez, représentent l'accord entier pour le logiciel et les services d'assistance.

1. **LOI APPLICABLE**. Si vous avez acquis le logiciel aux États-Unis, les lois de l'État de Washington s'appliquent à l'interprétation des réclamations et aux réclamations pour violation du présent accord, et les lois de l'État où vous résidez s'appliquent à toutes les autres réclamations. Si vous avez acquis le logiciel dans n'importe quel autre pays, les lois du pays s'appliquent.

1. **DROITS DES CONSOMMATEURS ; DIFFÉRENCES RÉGIONALES**. Cet accord décrit certains droits juridiques. Vous pouvez disposer d'autres droits, notamment les droits des consommateurs, conformément aux lois de votre État ou pays. À part et en dehors de votre relation avec Microsoft, vous pouvez également disposer de droits concernant la partie grâce à laquelle vous avez acquis le logiciel. Cet accord ne modifie pas lesdits autres droits si les lois de votre État ou pays ne permettent pas à le faire. Par exemple, si vous avez acquis le logiciel dans l'une des régions ci-dessous, ou que la loi obligatoire du pays s'applique, les dispositions suivantes s'appliquent à vous :

   1. **Australie**. Vous disposez de garanties statutaires conformément à l'Australian Consumer Law et rien dans le présent accord n'est destiné à affecter lesdits droits.

   1. **Canada**. Si vous avez acquis le présent logiciel au Canada, vous pouvez cesser de recevoir des mises à jour en désactivant la fonctionnalité de mise à jour automatique, déconnecter votre appareil d'Internet (toutefois, si et quand vous le reconnectez à Internet, le logiciel reprend la vérification et l'installation des mises à jour) ou désinstaller le logiciel. La documentation produit, le cas échéant, peut également spécifier la façon de désactiver les mises à jour d'un appareil ou logiciel spécifique.

   1. **Allemagne et Autriche**.

      1. **Garantie**. Le logiciel sous licence valide logiciel fonctionnera tel que décrit dans n'importe quel matériel Microsoft accompagnant le logiciel. Toutefois, Microsoft n'offre aucune garantie contractuelle concernant le logiciel sous licence.

      1. **Limitation de responsabilité**. En cas de comportements intentionnels, négligence grave, réclamations reposant sur le Product Liability Act, ainsi qu'en cas de mort ou de blessures personnelles ou physiques, Microsoft sera tenu responsable conformément à la loi statutaire. Sous condition de la clause précédente (ii), Microsoft sera uniquement tenu responsable en cas de négligence mineure si Microsoft ne respecte pas lesdites obligations contractuelles matérielles, dont l'accomplissement faciliterait l'exécution parfaite du présent accord, dont le non-respect pourrait menacer l'objet même du présent accord et dont la conformité avec une partie peut constamment renforcer la confiance (ci-après désigné « Obligations cardinales »). Dans d'autres cas de négligence mineure, Microsoft ne sera pas tenu responsable.

1. **EXCLUSION DE GARANTIE. LE LOGICIEL EST FOURNI SOUS LICENCE « EN L'ÉTAT ». VOUS ASSUMEZ LE RISQUE DE L'UTILISER. MICROSOFT N'ACCORDE AUCUNE GARANTIE EXPRESSE OU CONDITION. DANS LES LIMITES AUTORISÉES PAR LES LOIS LOCALES, MICROSOFT EXCLUT LES GARANTIES IMPLICITES DE QUALITÉ MARCHANDE, D'ADÉQUATION À UN USAGE PARTICULIER ET DE NON-CONTREFAÇON.**

1. **LIMITATION ET EXCLUSION DES DOMMAGES. MICROSOFT ET VOUS POUVEZ RECOVER SES FOURNISSEURS ONLY DOMMAGES DIRECTS JUSQU'À U.S. 5,00 USD. VOUS NE POUVEZ PAS OBTENIR RÉPARATION POUR TOUT AUTRE DOMMAGE, Y COMPRIS LES DOMMAGES CONSÉCUTIFS, LES PERTES DE PROFITS, LES DOMMAGES SPÉCIAUX, INDIRECTS OU ACCESSOIRES.** La présente limitation s'applique (a) à tout aspect lié au logiciel, aux services (notamment le code) sur les sites Internet tiers, ou les applications tierces ; et (b) aux revendications pour violation du contrat, violation de garantie, garantie ou condition, responsabilité stricte, négligence, ou tout autre délit dans les limites autorisées par la loi applicable.

   Elle s'applique également, même si Microsoft avait connaissance ou aurait dû avoir connaissance de la possibilité de dommages. La limitation ou l'exclusion ci-dessus peut ne pas s'appliquer à vous, car votre pays peut ne pas autoriser l'exclusion ou la limitation des dommages fortuits, punitifs ou autres.

ID EULA : VS2015 \$1Update3\$1 \$1 ShellsRedist <ENU>

## 5) Image Docker basée sur Windows : nuget.commandline --version 4.5.1
<a name="6-windows-base-docker-image-4-5-1"></a>

(les termes du contrat de licence sont disponibles à l'adresse : [https://github.com/NuGet/Home/blob/dev/LICENSE.txt](https://github.com/NuGet/Home/blob/dev/LICENSE.txt))

Copyright (c) .NET Foundation. Tous droits réservés.

Sous licence d'Apache License, version 2.0 (ci-après désigné « Licence ») ; vous ne pouvez pas utiliser les présents fichiers sauf conformément à la Licence. Vous pouvez obtenir une copie de la Licence à l'adresse 

[http://www.apache. org/licenses/LICENSE-2,0](http://www.apache.org/licenses/LICENSE-2.0)

Sauf si la loi applicable l'exige ou sauf accord écrit, le logiciel distribué conformément à la Licence est distribué « EN L'ÉTAT », SANS GARANTIE OU CONDITION D'AUCUNE SORTE, explicite ou implicite. Consultez la Licence pour les dispositions spécifiques régissant les autorisations et limitations dans le cadre de la Licence.

## 7) Image Docker basée sur Windows : netfx-4.6.2-devpack
<a name="7-windows-base-docker-image-4-6-2"></a>

**CONDITIONS DU CONTRAT DE LICENCE COMPLÉMENTAIRE DU LOGICIEL MICROSOFT**

**.NET FRAMEWORK ET LES PACKAGES DE LANGUE ASSOCIÉS POUR LE SYSTÈME D'EXPLOITATION MICROSOFT WINDOWS**

-----

Microsoft Corporation (ou selon votre lieu de résidence, l'une de ses filiales) vous accorde la licence du présent complément. Si vous êtes sous licence pour utiliser le logiciel du système d'exploitation Microsoft Windows (ci-après désigné le « logiciel »), vous pouvez utiliser le présent complément. Vous ne pouvez pas l'utiliser si vous ne disposez pas d'une licence pour le logiciel. Vous pouvez utiliser le présent Complément avec chaque copie sous licence valide du logiciel.

Les conditions du contrat de licence suivantes décrivent les conditions d'utilisation supplémentaires du présent complément. Les présentes conditions et conditions du contrat de licence du logiciel s'appliquent à votre utilisation du complément. En cas de conflit, les présentes conditions du contrat de licence complémentaire s'appliquent.

**EN UTILISANT CE SUPPLÉMENT, VOUS ACCEPTEZ CES CONDITIONS. SI VOUS NE LES ACCEPTEZ PAS, N'UTILISEZ PAS CE SUPPLÉMENT.**

-----

**Si vous respectez les présentes conditions du contrat de licence, vous disposez des droits ci-dessous.**

1. **CODE DISTRIBUABLE.** Le supplément est composé d'un code distribuable. Un « Code Distribuable » est un code que vous êtes autorisé à distribuer dans les programmes que vous développez si vous respectez les conditions ci-dessous.

   1. **Droit d'utilisation et de distribution**.
      + Vous pouvez copier et distribuer le complément sous forme de code objet.
      + *Distribution tierce.* Vous pouvez autoriser les distributeurs de vos programmes à copier et à distribuer le Code Distribuable dans le cadre de ces programmes.

   1. **Exigences relatives à la distribution. Pour tout code distribuable que vous distribuez, vous devez**
      + lui ajouter des fonctionnalités principales importantes dans vos programmes ;
      + pour n'importe quel Code Distribuable disposant d'une extension de fichier .lib, distribuer uniquement les résultats de l'exécution dudit Code Distribuable via un éditeur de liens avec votre programme ;
      + distribuer le Code Distribuable inclus dans un programme d'installation uniquement dans le cadre de ce programme d'installation sans modification ; 
      + exiger que les distributeurs et les utilisateurs finaux externes acceptent les conditions qui le protègent au moins autant que le présent accord.
      + afficher vos mentions des droits d'auteur valides sur vos programmes ; et
      + indemniser, défendre et exonérer Microsoft face à toutes les revendications, y compris les frais d'avocat, liés à la distribution ou à l'utilisation de vos programmes.

   1. **Restrictions de distribution. Il se peut que vous ne**
      + modifier les droits d'auteur, les marques déposées ou les brevets du Code Distribuable ;
      + utiliser des marques déposées de Microsoft dans vos noms de programme ou en laissant croire que vos programmes proviennent de Microsoft ou sont approuvés par Microsoft ;
      + distribuer un Code Distribuable à exécuter sur une plateforme autre que Windows ;
      + inclure un Code Distribuable dans des programmes malveillants, frauduleux ou illicites ; ou
      + modifier ou distribuer le code source de n'importe quel Code Distribuable afin que toute partie de celui-ci soit soumise à une licence d'exclusion. Une licence d'exclusion exige, comme condition d'utilisation, modification ou distribution, que
        + le code divulgué ou distribué sous forme de code source ; ou
        + d'autres aient le droit de la modifier.

1. **SERVICES D'ASSISTANCE POUR LE COMPLÉMENT**. Microsoft fournit des services de support pour ce logiciel, comme décrit sur le [site www.support.microsoft. com/common/international.aspx](http://www.support.microsoft.com/common/international.aspx).

## 8) Image Docker basée sur Windows — visualfsharptools, version 4.0
<a name="8-windows-base-docker-image-visualfsharptools"></a>

(les termes du contrat de licence sont disponibles à l'adresse : [https://github.com/dotnet/fsharp/blob/main/License.txt](https://github.com/dotnet/fsharp/blob/main/License.txt))

Copyright (c) Microsoft Corporation. Tous droits réservés.

Sous licence d'Apache License, version 2.0 (ci-après désigné « Licence ») ; vous ne pouvez pas utiliser les présents fichiers sauf conformément à la Licence. Vous pouvez obtenir une copie de la Licence à l'adresse

[http://www.apache. org/licenses/LICENSE-2,0](http://www.apache.org/licenses/LICENSE-2.0)

Sauf si la loi applicable l'exige ou sauf accord écrit, le logiciel distribué conformément à la Licence est distribué « EN L'ÉTAT », SANS GARANTIE OU CONDITION D'AUCUNE SORTE, explicite ou implicite. Consultez la Licence pour les dispositions spécifiques régissant les autorisations et limitations dans le cadre de la Licence.

## 9) Image Docker basée sur Windows : -4,6 netfx-pcl-reference-assemblies
<a name="9-windows-base-docker-image"></a>

**CONDITIONS DU CONTRAT DE LICENCE COMPLÉMENTAIRE MICROSOFT**

**ASSEMBLAGES DE RÉFÉRENCE DE LA BIBLIOTHÈQUE DE CLASSE PORTABLE MICROSOFT .NET – 4.6**

-----

Les présentes conditions du contrat de licence sont un accord entre Microsoft Corporation (ou selon votre lieu de résidence, l'une de ses filiales) et vous. Veuillez les lire. Elles s'appliquent au logiciel désigné ci-dessus. Les conditions s'appliquent également à l'ensemble des
+ mises à jour,
+ compléments,
+ services Internet, et
+ services d'assistance Microsoft

pour ce logiciel, sauf si d'autres conditions accompagnent lesdits éléments. Si tel est le cas, lesdites conditions s'appliquent.

**EN UTILISANT LE LOGICIEL, VOUS ACCEPTEZ CES CONDITIONS. SI VOUS NE LES ACCEPTEZ PAS, N'UTILISEZ PAS LE LOGICIEL.**

-----

**SI VOUS RESPECTEZ LES PRÉSENTES CONDITIONS DU CONTRAT DE LICENCE, VOUS DISPOSEZ DES DROITS PERPÉTUELS CI-DESSOUS.**

1. **INSTALLATION ET DROITS D'UTILISATION**. Vous pouvez installer et utiliser n'importe quel nombre de copies du logiciel pour concevoir, développer et tester vos programmes.

1. **EXIGENCES DE LICENCE SUPPLÉMENTAIRES : DROITS AND/OR D'UTILISATION**.

   1. **Code Distribuable.** Vous pouvez distribuer le logiciel dans les programmes d'outils de développement que vous développez, pour permettre aux clients de vos programmes de développer des bibliothèques portables à utiliser avec n'importe quel appareil ou système d'exploitation, si vous respectez les conditions ci-dessous.

      1. **Droit d'utilisation et de distribution. Le logiciel s'appelle « Code distribuable ».** 
         + *Code Distribuable.* Vous pouvez copier et distribuer le logiciel sous forme de code objet.
         + *Distribution tierce.* Vous pouvez autoriser les distributeurs de vos programmes à copier et à distribuer le Code Distribuable dans le cadre de ces programmes. 

      1. **Exigences relatives à la distribution. Pour tout code distribuable que vous distribuez, vous devez**
         + lui ajouter des fonctionnalités principales importantes dans vos programmes ;
         + exiger que les distributeurs et vos clients acceptent les conditions qui le protègent au moins autant que le présent accord. 
         + afficher vos mentions des droits d'auteur valides sur vos programmes ; et
         + indemniser, défendre et exonérer Microsoft face à toutes les revendications, y compris les frais d'avocat, liés à la distribution ou à l'utilisation de vos programmes.

      1. **Restrictions de distribution. Il se peut que vous ne**
         + modifier les droits d'auteur, les marques déposées ou les brevets du Code Distribuable ;
         + utiliser des marques déposées de Microsoft dans vos noms de programme ou en laissant croire que vos programmes proviennent de Microsoft ou sont approuvés par Microsoft ;
         + inclure un Code Distribuable dans des programmes malveillants, frauduleux ou illicites ; ou
         + modifier ou distribuer le Code Distribuable afin que toute partie de celui-ci soit soumise à une licence d'exclusion. Une licence d'exclusion exige, comme condition d'utilisation, modification ou distribution, que
           + le code divulgué ou distribué sous forme de code source ; ou
           + d'autres aient le droit de la modifier.

1. **CHAMP D'APPLICATION DE LA LICENCE**. Le logiciel est fourni sous licence et non vendu. Cet accord vous concède uniquement certains droits pour utiliser le logiciel. Microsoft se réserve tous les autres droits. Sauf si la loi applicable vous concède davantage de droits malgré cette limitation, vous pouvez utiliser le logiciel uniquement tel qu'expressément autorisé dans ledit accord. Pour ce faire, vous devez respecter toutes les limitations techniques du logiciel qui vous autorisent à l'utiliser d'une certaine façon. Vous ne pouvez pas
   + contourner n'importe quelles limitations du logiciel ;
   + procéder à des opérations de rétro-ingénierie, décompiler ou désassembler le logiciel, sauf si exigé et uniquement dans la mesure autorisée expressément par la législation applicable, malgré la présente limitation ;
   + publier le logiciel pour que d'autres le copient ; ou
   + louer, céder en location ou prêter le logiciel.

1. **COMMENTAIRES**. Vous pouvez fournir des commentaires sur le logiciel. Si vous communiquer des commentaires sur le logiciel à Microsoft, vous accordez à Microsoft, sans frais, le droit d'utiliser, de partager et de commercialiser vos commentaires de quelque façon que ce soit et à quelque fin que ce soit. Vous accordez également à des tiers, sans frais, les droits de brevet nécessaires à leurs produits, technologies et services afin d'utiliser ou de communiquer avec n'importe quelle partie spécifique d'un logiciel ou d'un service Microsoft qui inclut les commentaires. Vous ne pourrez pas communiquer de commentaires soumis à une licence qui exige que Microsoft concède des licences pour son logiciel ou sa documentation à un tiers, car vos commentaires y sont inclus. Ces droits survivent au présent accord.

1. **TRANSFERT À UN TIERS**. Le premier utilisateur du logiciel peut le transférer, ainsi que le présent accord, directement à un tiers. Avant le transfert, ce tiers doit accepter que le présent accord s'applique au transfert et à l'utilisation du logiciel. Le premier utilisateur doit désinstaller le logiciel avant de le transférer séparément depuis l'appareil. Le premier utilisateur ne peut conserver aucune copie.

1. **RESTRICTIONS À L'EXPORTATION**. Le logiciel est soumis lois et réglementations d'exportation américaines. Vous devez respecter toutes les lois et réglementations d'exportation nationales et internationales qui s'appliquent au logiciel. Lesdites lois incluent des restrictions sur des destinations, des utilisateurs finaux, et des utilisations finales. Pour plus d'informations, consultez [www.microsoft.com/exporting](http://www.microsoft.com/exporting).

1. **SERVICES D'ASSISTANCE**. Étant donné que ce logiciel est fourni « en l'état », nous ne peuvent pas fournir de services d'assistance.

1. **ACCORD ENTIER**. Cet accord, et les conditions pour les compléments, les mises à jour, les services Internet et les services d'assistance que vous utilisez, représentent l'accord entier pour le logiciel et tous les services d'assistance que nous fournissons.

1. **LOI APPLICABLE**.

   1. **États-Unis**. Si vous avez acquis le logiciel aux États-Unis, les lois de l'État de Washington régissent l'interprétation du présent accord et s'appliquent aux réclamations pour violation de ce dernier, indépendamment de toute règle de conflit de lois. Les lois de l'État dans lequel vous résidez régissent toutes les autres réclamations, notamment les réclamations en vertu des lois sur la protection des consommateurs, des lois sur la concurrence déloyale, et des lois sur la responsabilité civile.

   1. **En dehors des États-Unis**. Si vous avez acquis le logiciel dans n'importe quel autre pays, les lois de ce dernier s'appliquent.

1. **CONSÉQUENCE LÉGALE**. Cet accord décrit certains droits juridiques. Vous pouvez disposer d'autres droits en vertu des lois de votre pays. Vous pouvez également disposer de droits liés au tiers grâce auquel vous avez acquis le logiciel. Le présent accord ne modifie pas vos droits en vertu des lois de votre pays si les lois de votre pays ne permettent pas à le faire.

1. **EXCLUSION DE GARANTIE. LE LOGICIEL EST FOURNI SOUS LICENCE « EN L'ÉTAT ». VOUS ASSUMEZ LE RISQUE DE L'UTILISER. MICROSOFT N'ACCORDE AUCUNE GARANTIE EXPRESSE OU CONDITION. VOUS POUVEZ DISPOSER DE DROITS DES CONSOMMATEURS SUPPLÉMENTAIRES OU DE GARANTIES STATUTAIRES EN VERTU DE VOS LOIS LOCALES QUE LE PRÉSENT ACCORD NE PEUT PAS MODIFIER. DANS LES LIMITES AUTORISÉES PAR LES LOIS LOCALES, MICROSOFT EXCLUT LES GARANTIES IMPLICITES DE QUALITÉ MARCHANDE, D'ADÉQUATION À UN USAGE PARTICULIER ET DE NON-CONTREFAÇON.** 

   **POUR L'AUSTRALIE—VOUS DISPOSEZ DE GARANTIES STATUTAIRES CONFORMÉMENT À L'AUSTRALIAN CONSUMER LAW ET RIEN DANS LE PRÉSENT ACCORD N'EST DESTINÉ À AFFECTER LESDITS DROITS.** 

1. **LIMITATION ET EXCLUSION DES RECOURS ET DES DOMMAGES-INTÉRÊTS. MICROSOFT ET VOUS POUVEZ RECOVER SES FOURNISSEURS ONLY DOMMAGES DIRECTS JUSQU'À U.S. 5,00 USD. VOUS NE POUVEZ PAS OBTENIR RÉPARATION POUR TOUT AUTRE DOMMAGE, Y COMPRIS LES DOMMAGES CONSÉCUTIFS, LES PERTES DE PROFITS, LES DOMMAGES SPÉCIAUX, INDIRECTS OU ACCESSOIRES.**

   Cette limitation s'applique
   + à tout ce qui concerne le logiciel, les services, le contenu (notamment le code) sur les sites Internet tiers, ou les programmes tiers ; et
   + aux réclamations pour violation de contrat, violation de garantie ou de condition, responsabilité stricte, négligence, ou autres délits dans les limites autorisées par la loi applicable.

   Elle s'applique également, même si Microsoft avait connaissance ou aurait dû avoir connaissance de la possibilité de dommages. La limitation ou l'exclusion ci-dessus peut ne pas s'appliquer à vous, car votre pays peut ne pas autoriser l'exclusion ou la limitation des dommages fortuits, punitifs ou autres.

## 10) Image Docker basée sur Windows — visualcppbuildtools v 14.0.25420.1
<a name="10-windows-base-docker-image"></a>

(les termes du contrat de licence sont disponibles à l'adresse : [https://www.visualstudio.com/license-terms/mt644918/)](https://www.visualstudio.com/license-terms/mt644918/)

OUTILS DE GÉNÉRATION MICROSOFT VISUAL C\$1\$1

**CONDITIONS DU CONTRAT DE LICENCE COMPLÉMENTAIRE MICROSOFT**

**OUTILS DE GÉNÉRATION MICROSOFT VISUAL C\$1\$1**

-----

Les présentes conditions du contrat de licence sont un accord entre Microsoft Corporation (ou selon votre lieu de résidence, l'une de ses filiales) et vous. Elles s'appliquent au logiciel désigné ci-dessus. Les conditions s'appliquent également à tous les services ou mises à jour Microsoft du logiciel, sauf dans la mesure où elles disposent de conditions différentes.

-----

**SI VOUS RESPECTEZ LES PRÉSENTES CONDITIONS DU CONTRAT DE LICENCE, VOUS DISPOSEZ DES DROITS CI-DESSOUS.**

1. **INSTALLATION ET DROITS D'UTILISATION**.

   1. Un utilisateur peut utiliser des copies du logiciel pour développer et tester ses applications.

1. **DONNÉES**. Le logiciel peut récupérer des informations sur vous et votre utilisation du logiciel, et les envoyer à Microsoft. Microsoft peut utiliser ces informations pour fournir des services et améliorer nos produits et services. Vous pouvez vous désinscrire de la plupart desdits scénarios, mais pas de tous, tel que décrit dans la documentation du produit. Il existe également des fonctionnalités dans le logiciel qui peuvent vous permettre de récupérer des données d'utilisateurs de vos applications. Si vous utilisez ces fonctionnalités pour activer la récupération de données dans vos applications, vous devez respecter la loi en vigueur, notamment en avertissant de manière appropriée les utilisateurs de vos applications. Vous pouvez en savoir plus sur la récupération et l'utilisation des données dans la documentation d'aide et la déclaration de confidentialité à l'adresse [http://go.microsoft.com/fwlink/?LinkID=528096](http://go.microsoft.com/fwlink/?LinkID=528096). Votre utilisation du logiciel sera considérée comme un consentement à ces pratiques.

1. **CONDITIONS POUR LES COMPOSANTS SPÉCIFIQUES**.

   1. **Build Server**. Le logiciel peut contenir certains composants du serveur de compilation répertoriés dans des fichiers BuildServer .TXT, and/or tous les fichiers répertoriés dans la BuildeServer liste étant situés conformément aux présentes conditions de licence logicielle Microsoft. Vous pouvez copier et installer ces éléments, s'ils sont inclus dans le logiciel, sur vos machines de génération. Vous et d'autres utilisateurs de votre organisation peuvent utiliser ces éléments sur vos machines de génération uniquement à des fins de compilation, de génération, de vérification et d'archivage de vos applications ou d'exécution de tests de qualité ou de performance dans le cadre du processus de génération.

   1. **Plateformes Microsoft**. Le logiciel peut inclure des composants provenant de Microsoft Windows, Microsoft Windows Server, Microsoft SQL Server, Microsoft Exchange, Microsoft Office et Microsoft SharePoint. Lesdits composants sont soumis à des accords séparés et leurs propres politiques d'assistance produit, tel que décrit dans les conditions du contrat de licence disponibles dans le répertoire d'installation dudit composant ou dans le dossier « Licences » accompagnant le logiciel.

   1. **Composants tiers**. Le logiciel peut inclure des composants tiers soumis à des mentions légales distinctes ou régis par d'autres accords, comme décrit dans le ThirdPartyNotices fichier accompagnant le logiciel. Même si lesdits composants sont soumis à d'autres accords, les exclusions de responsabilités, les limitations et les exclusions concernant les dommages ci-dessous s'appliquent également.

   1. **Gestionnaires de package**. Le logiciel peut inclure des gestionnaires de package, tels que Nuget, qui vous permettent de télécharger d'autres packages logiciels Microsoft et des packages logiciels tiers à utiliser avec votre application. Ces packages sont soumis à leurs propres licences, et non pas au présent accord. Microsoft ne permet pas de distribuer, d'autoriser ou de fournir des garanties pour l'un des packages tiers.

1. **CHAMP D'APPLICATION DE LA LICENCE**. Le logiciel est fourni sous licence et non vendu. Cet accord vous concède uniquement certains droits pour utiliser le logiciel. Microsoft se réserve tous les autres droits. Sauf si la loi applicable vous concède davantage de droits malgré cette limitation, vous pouvez utiliser le logiciel uniquement tel qu'expressément autorisé dans ledit accord. Pour ce faire, vous devez respecter toutes les limitations techniques du logiciel qui vous autorisent à l'utiliser d'une certaine façon. Pour plus d'informations, consultez [https://docs.microsoft.com/en-us/legal/information-protection/software-license-terms \$11](https://docs.microsoft.com/en-us/legal/information-protection/software-license-terms#1-installation-and-use-rights) -. installation-and-use-rights Vous ne pouvez pas
   + contourner n'importe quelles limitations du logiciel ;
   + procéder à des opérations de rétro-ingénierie, décompiler ou désassembler le logiciel, ou essayez de le faire, sauf si exigé et uniquement dans la mesure requise par les conditions du contrat de licence tierces régissant l'utilisation de certains composants open source pouvant être inclus avec le logiciel ;
   + supprimer, minimiser, bloquer ou modifier toutes les mentions de Microsoft ou de ses fournisseurs ;
   + utiliser le logiciel de manière illégale ; ou
   + partager, publier, louer ou céder en location le logiciel, ou proposer le logiciel en tant que solution hébergée autonome pour que d'autres personnes l'utilisent.

1. **RESTRICTIONS À L'EXPORTATION**. Vous devez respecter toutes les lois et réglementations d'exportation nationales et internationales qui s'appliquent au logiciel, qui incluent des restrictions sur des destinations, des utilisateurs finaux et des utilisations finales. Pour plus d'informations sur les restrictions à l'exportation, visitez ([aka.ms/exporting](http://aka.ms/exporting)).

1. **SERVICES D'ASSISTANCE**. Étant donné que ce logiciel est fourni « en l'état », nous ne peuvent pas fournir de services d'assistance.

1. **ACCORD ENTIER**. Cet accord, et les conditions pour les compléments, les mises à jour, les services Internet et les services d'assistance que vous utilisez, représentent l'accord entier pour le logiciel et les services d'assistance.

1. **LOI APPLICABLE**. Si vous avez acquis le logiciel aux États-Unis, les lois de l'État de Washington s'appliquent à l'interprétation des réclamations et aux réclamations pour violation du présent accord, et les lois de l'État où vous résidez s'appliquent à toutes les autres réclamations. Si vous avez acquis le logiciel dans n'importe quel autre pays, les lois du pays s'appliquent.

1. **DROITS DES CONSOMMATEURS ; DIFFÉRENCES RÉGIONALES**. Cet accord décrit certains droits juridiques. Vous pouvez disposer d'autres droits, notamment les droits des consommateurs, conformément aux lois de votre État ou pays. À part et en dehors de votre relation avec Microsoft, vous pouvez également disposer de droits concernant la partie grâce à laquelle vous avez acquis le logiciel. Cet accord ne modifie pas lesdits autres droits si les lois de votre État ou pays ne permettent pas à le faire. Par exemple, si vous avez acquis le logiciel dans l'une des régions ci-dessous, ou que la loi obligatoire du pays s'applique, les dispositions suivantes s'appliquent à vous :
   + **Australie**. Vous disposez de garanties statutaires conformément à l'Australian Consumer Law et rien dans le présent accord n'est destiné à affecter lesdits droits.
   + **Canada**. Si vous avez acquis le présent logiciel au Canada, vous pouvez cesser de recevoir des mises à jour en désactivant la fonctionnalité de mise à jour automatique, déconnecter votre appareil d'Internet (toutefois, si et quand vous le reconnectez à Internet, le logiciel reprend la vérification et l'installation des mises à jour) ou désinstaller le logiciel. La documentation produit, le cas échéant, peut également spécifier la façon de désactiver les mises à jour d'un appareil ou logiciel spécifique.
   + **Allemagne et Autriche**.
     + **Garantie**. Le logiciel sous licence valide logiciel fonctionnera tel que décrit dans n'importe quel matériel Microsoft accompagnant le logiciel. Toutefois, Microsoft n'offre aucune garantie contractuelle concernant le logiciel sous licence.
     + *Limitation de responsabilité*. En cas de comportements intentionnels, négligence grave, réclamations reposant sur le Product Liability Act, ainsi qu'en cas de mort ou de blessures personnelles ou physiques, Microsoft sera tenu responsable conformément à la loi statutaire.

       Sous condition de la clause précédente (ii), Microsoft sera uniquement tenu responsable en cas de négligence mineure si Microsoft ne respecte pas lesdites obligations contractuelles matérielles, dont l'accomplissement faciliterait l'exécution parfaite du présent accord, dont le non-respect pourrait menacer l'objet même du présent accord et dont la conformité avec une partie peut constamment renforcer la confiance (ci-après désigné « Obligations cardinales »). Dans d'autres cas de négligence mineure, Microsoft ne sera pas tenu responsable. 

1. **CONSÉQUENCE LÉGALE**. Cet accord décrit certains droits juridiques. Vous pouvez disposer d'autres droits en vertu des lois de votre État ou pays. Le présent accord ne modifie pas vos droits en vertu des lois de votre État ou pays si les lois de votre État ou pays ne permettent pas à le faire. Sans restreindre la portée générale de ce qui précède, pour l'Australie, **VOUS DISPOSEZ DE GARANTIES STATUTAIRES CONFORMÉMENT À L'AUSTRALIAN CONSUMER LAW ET RIEN DANS LE PRÉSENT ACCORD N'EST DESTINÉ À AFFECTER LESDITS DROITS**

1. **EXCLUSION DE GARANTIE. LE LOGICIEL EST FOURNI SOUS LICENCE « EN L'ÉTAT ». VOUS ASSUMEZ LE RISQUE DE L'UTILISER. MICROSOFT N'ACCORDE AUCUNE GARANTIE EXPRESSE OU CONDITION. DANS LES LIMITES AUTORISÉES PAR LES LOIS LOCALES, MICROSOFT EXCLUT LES GARANTIES IMPLICITES DE QUALITÉ MARCHANDE, D'ADÉQUATION À UN USAGE PARTICULIER ET DE NON-CONTREFAÇON.**

1. **LIMITATION ET EXCLUSION DES DOMMAGES. MICROSOFT ET VOUS POUVEZ RECOVER SES FOURNISSEURS ONLY DOMMAGES DIRECTS JUSQU'À U.S. 5,00 USD. VOUS NE POUVEZ PAS OBTENIR RÉPARATION POUR TOUT AUTRE DOMMAGE, Y COMPRIS LES DOMMAGES CONSÉCUTIFS, LES PERTES DE PROFITS, LES DOMMAGES SPÉCIAUX, INDIRECTS OU ACCESSOIRES.**

    La présente limitation s'applique (a) à tout aspect lié au logiciel, aux services (notamment le code) sur les sites Internet tiers, ou les applications tierces ; et (b) aux revendications pour violation du contrat, violation de garantie, garantie ou condition, responsabilité stricte, négligence, ou tout autre délit dans les limites autorisées par la loi applicable.

   Elle s'applique également, même si Microsoft avait connaissance ou aurait dû avoir connaissance de la possibilité de dommages. La limitation ou l'exclusion ci-dessus peut ne pas s'appliquer à vous, car votre pays peut ne pas autoriser l'exclusion ou la limitation des dommages fortuits, punitifs ou autres. 

## 11) Image Docker basée sur Windows : 3-ondemand-package.cab microsoft-windows-netfx
<a name="11-windows-base-docker-image"></a>

**CONDITIONS DU CONTRAT DE LICENCE COMPLÉMENTAIRE DU LOGICIEL MICROSOFT**

**MICROSOFT .NET FRAMEWORK 3.5 SP1 POUR SYSTÈME D'EXPLOITATION MICROSOFT WINDOWS**

-----

Microsoft Corporation (ou selon votre lieu de résidence, l'une de ses filiales) vous accorde la licence du présent complément. Si vous êtes sous licence pour utiliser le logiciel du système d'exploitation Microsoft Windows (pour lequel le présent complément s'applique) (ci-après désigné le « logiciel »), vous pouvez utiliser le présent complément. Vous ne pouvez pas l'utiliser si vous ne disposez pas d'une licence pour le logiciel. Vous pouvez utiliser une copie du présent Complément avec chaque copie sous licence valide du logiciel.

Les conditions du contrat de licence suivantes décrivent les conditions d'utilisation supplémentaires du présent complément. Les présentes conditions et conditions du contrat de licence du logiciel s'appliquent à votre utilisation du complément. En cas de conflit, les présentes conditions du contrat de licence complémentaire s'appliquent.

**EN UTILISANT CE SUPPLÉMENT, VOUS ACCEPTEZ CES CONDITIONS. SI VOUS NE LES ACCEPTEZ PAS, N'UTILISEZ PAS CE SUPPLÉMENT.**

-----

**Si vous respectez les présentes conditions du contrat de licence, vous disposez des droits ci-dessous.**

1. **SERVICES D'ASSISTANCE POUR LE COMPLÉMENT**. Microsoft fournit des services de support pour ce logiciel, comme décrit sur le [site www.support.microsoft. com/common/international.aspx](http://www.support.microsoft.com/common/international.aspx).

1. **TESTS D'ÉVALUATION MICROSOFT .NET**. Le logiciel inclut .NET Framework, Windows Communication Foundation, Windows Presentation Foundation, et les composants Windows Workflow Foundation des systèmes d'exploitation Windows (.NET Components). Vous pouvez effectuer des tests d'évaluation internes de .NET Components. Vous pouvez communiquer les résultats de n'importe quel test d'évaluation des .NET Components, à condition que vous respectiez les conditions stipulées à l'adresse [http://go.microsoft.com/fwlink/?LinkID=66406](http://go.microsoft.com/fwlink/?LinkID=66406).

   Nonobstant tout autre accord avec Microsoft, si vous communiquez les résultats des tests d'évaluation, Microsoft se réserve le droit de communiquer les résultats des tests d'évaluation qu'il réalise pour vos produits qui concurrencent le .NET Component applicable, pourvu qu'il respecte les mêmes conditions stipulées à l'adresse [http://go.microsoft.com/fwlink/?LinkID=66406](http://go.microsoft.com/fwlink/?LinkID=66406).

## 12) Image Docker basée sur Windows : dotnet-sdk
<a name="12-windows-base-docker-image"></a>

(disponible au [https://github.com/dotnet/core/blob/main/LICENSEformat .TXT](https://github.com/dotnet/core/blob/main/LICENSE.TXT)) 

La licence MIT (MIT)

Copyright (c) Microsoft Corporation

L'autorisation est accordée, gratuitement, à toute personne obtenant une copie de ce logiciel et des fichiers de documentation associés (le « Logiciel »), d'utiliser le Logiciel sans restriction, y compris, sans s'y limiter, le droit d'utiliser, de copier, de modifier, de fusionner, de publier, de distribuer, de sous-licencier, de and/or vendre des copies du Logiciel, et d'autoriser les personnes auxquelles le Logiciel est fourni à le faire, sous réserve des conditions suivantes :

Les mentions des droits d'auteur et de ladite permission susmentionnées doivent être incluses dans toutes les copies ou parties importantes du Logiciel.

LE LOGICIEL EST FOURNI « EN L'ÉTAT », SANS GARANTIE AUCUNE, EXPRESSE OU IMPLICITE, Y COMPRIS SANS S’Y LIMITER LA GARANTIE DE QUALITE MARCHANDE, D'ADEQUATION A UN OBJECTIF PARTICULIER ET DE NON-INFRACTION. Tous droits réservés.

# Utiliser des clés de CodeBuild condition comme variables de rôle de service IAM pour contrôler l'accès au build
<a name="permissions-conditionkeys-variables"></a>

Avec l'ARN de CodeBuild construction, vous pouvez restreindre l'accès aux ressources de construction en utilisant des clés contextuelles pour limiter l'accès aux ressources dans votre rôle CodeBuild de service. En CodeBuild effet, les clés qui peuvent être utilisées pour contrôler le comportement d'accès aux builds sont `codebuild:buildArn` et`codebuild:projectArn`. Avec l'ARN du projet de construction, vous pouvez vérifier si un appel à votre ressource provient d'un projet de construction spécifique. Pour vérifier cela, utilisez les clés de `codebuild:projectArn` condition `codebuild:buildArn` ou dans une politique basée sur l'identité IAM.

Pour utiliser les clés de `codebuild:projectArn` condition `codebuild:buildArn` ou dans votre politique, incluez-les comme condition avec l'un des opérateurs de condition ARN. La valeur de la clé doit être une variable IAM qui se résout en un ARN valide. Dans l'exemple de politique ci-dessous, le seul accès autorisé sera le projet de construction avec l'ARN du projet pour la variable `${codebuild:projectArn} ` IAM.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": "s3:PutObject",
            "Resource": "arn:aws:s3:::bucket-name/${codebuild:projectArn}/*"
        }
    ]
}
```

------

# AWS CodeBuild clés de condition
<a name="action-context-keys"></a>

AWS CodeBuild fournit un ensemble de clés de condition que vous pouvez utiliser dans les politiques IAM pour appliquer les politiques de votre organisation sur les CodeBuild ressources telles que les projets et les flottes. Les clés de condition couvrent la plupart des contextes de demande d' CodeBuild API, notamment les paramètres réseau, les configurations d'informations d'identification et les restrictions de calcul.

**Topics**
+ [Appliquez les paramètres de connectivité VPC à vos projets et à vos flottes](#action-context-keys-example-overrideVPC)
+ [Empêchez les modifications non autorisées des spécifications de construction du projet](#action-context-keys-example-overridebuildspec)
+ [Limitez les types de calcul pour vos builds](#action-context-keys-example-computechoice)
+ [Réglages variables de l'environnement de contrôle](#action-context-keys-example-env-variables)
+ [Utiliser des variables dans les noms des clés de condition](#action-context-keys-example-variables)
+ [Vérifier l'existence d'attributs dans les demandes d'API](#action-context-keys-example-env-denyoverride)

## Appliquez les paramètres de connectivité VPC à vos projets et à vos flottes
<a name="action-context-keys-example-overrideVPC"></a>

Cette politique permet à l'appelant d'utiliser les sous-réseaux et les groupes de sécurité sélectionnés VPCs lors de la création de CodeBuild projets et de flottes. Pour plus d'informations sur les clés de contexte à valeurs multiples, voir Clés de contexte [à valeur unique ou clés de contexte à valeurs multiples](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-single-vs-multi-valued-context-keys.html).

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [{
        "Effect": "Allow",
        "Action": [
            "codebuild:CreateProject",
            "codebuild:CreateFleet"
        ],
        "Resource": "*",
        "Condition": {
            "ForAnyValue:StringEquals": {
                "codebuild:vpcConfig.vpcId": [
                    "vpc-01234567890abcdef",
                    "vpc-abcdef01234567890"
                ],
                "codebuild:vpcConfig.subnets": [
                    "subnet-1234abcd",
                    "subnet-5678abcd"
                ],
                "codebuild:vpcConfig.securityGroupIds": [
                    "sg-12345678abcdefghij",
                    "sg-01234567abcdefghij"
                ]
            }
        }
    }]
}
```

------

## Empêchez les modifications non autorisées des spécifications de construction du projet
<a name="action-context-keys-example-overridebuildspec"></a>

Cette politique ne permet pas à l'appelant de remplacer les spécifications de construction dans le champ. `buildspecOverride`

**Note**  
La clé de `codebuild:source.buildspec` condition prend uniquement en charge l'opérateur Null pour vérifier l'existence du champ API. Il n'évalue pas le contenu de la spécification de construction.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [{
        "Effect": "Allow",
        "Action": "codebuild:StartBuild",
        "Resource": "*"
    }, {
        "Effect": "Deny",
        "Action": "codebuild:StartBuild",
        "Resource": "*",
        "Condition": {
            "Null": {
                "codebuild:source.buildspec": "false"
            }
        }
    }]
}
```

------

## Limitez les types de calcul pour vos builds
<a name="action-context-keys-example-computechoice"></a>

Cette politique permet de créer des flottes capables de construire uniquement avec `c5.large` ou de `m5.large` [calculer le type d'instance](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html#environment-reserved-capacity.instance-types). 

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [{
        "Effect": "Allow",
        "Action": "codebuild:CreateFleet",
        "Resource": "*",
        "Condition": {
            "ForAnyValue:StringEquals": {
                "codebuild:computeConfiguration.instanceType": ["c5.large", "m5.large"]
            }
        }
    }]
}
```

------

## Réglages variables de l'environnement de contrôle
<a name="action-context-keys-example-env-variables"></a>

Cette politique permet à l'appelant de remplacer la variable d'`STAGE`environnement par l'une ou l'autre`BETA`. `GAMMA` Il nie également explicitement le remplacement par `STAGE` être et nie `PRODUCTION` le remplacement de la variable d'`MY_APP_VERSION`environnement. Pour les clés de contexte à valeurs multiples, consultez la section Clés de [contexte à valeur unique ou à valeurs multiples](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-single-vs-multi-valued-context-keys.html).

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "codebuild:StartBuild"
            ],
            "Resource": "*",
            "Condition": {
                "ForAnyValue:StringEquals": {
                    "codebuild:environment.environmentVariables/STAGE.value": [
                        "BETA",
                        "GAMMA"
                    ]
                }
            }
        },
        {
            "Effect": "Deny",
            "Action": [
                "codebuild:StartBuild"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "codebuild:environment.environmentVariables/STAGE.value": "PRODUCTION"
                },
                "ForAnyValue:StringEquals": {
                    "codebuild:environment.environmentVariables.name": [
                        "MY_APP_VERSION"
                    ]
                }
            }
        }
    ]
}
```

------

## Utiliser des variables dans les noms des clés de condition
<a name="action-context-keys-example-variables"></a>

Vous pouvez utiliser des variables dans les noms de clés de condition, tels que `secondarySources/${sourceIdentifier}.location` et`secondaryArtifacts/${artifactIdentifier}.location`, où vous pouvez spécifier votre [source](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_ProjectSource.html) secondaire ou votre identifiant d'[artefact](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_ProjectArtifacts.html) secondaire dans la politique IAM. La politique ci-dessous permet à l'appelant de créer un projet avec un emplacement source spécifique pour la source `mySecondSource` secondaire.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "codebuild:CreateProject",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "codebuild:secondarySources/mySecondSource.location": "my-source-location"
                }
            }
        }
    ]
}
```

------

## Vérifier l'existence d'attributs dans les demandes d'API
<a name="action-context-keys-example-env-denyoverride"></a>

CodeBuild prend en charge les clés de condition pour vérifier l'existence de certains champs dans la demande d'API. La politique applique l'exigence VPC lors de la création ou de la mise à jour de projets.

```
{
    "Version": "2012-10-17"		 	 	 		 	 	 ,
    "Statement": [{
        "Effect": "Allow",
        "Action": [
            "codebuild:CreateProject",
            "codebuild:UpdateProject"
        ],
        "Resource": "*",
        "Condition": {
            "Null": {
                "codebuild:vpcConfig.vpcId": "false"
            }
        }
    }]
}
```