J'ai configuré mon projet AWS CodeBuild avec GitHub Action en tant que fournisseur de sources. Cependant, il échoue lorsque la compilation démarre la phase Download_Source.
Brève description
Vous devez inclure le nom du projet CodeBuild pour appeler des tâches avec les paramètres de projet appropriés. Les erreurs suivantes se produisent lorsque vous n'êtes pas authentifié et que votre projet CodeBuild échoue lors de la phase Download_Source :
« CLIENT_ERROR: authentication required for primary source »
« CLIENT_ERROR: authorization failed for primary source and source version: »
Pour résoudre ces erreurs, identifiez la méthode d'authentification utilisée, puis configurez les paramètres et autorisations requis.
Résolution
Pour déterminer la méthode que vous utilisez pour connecter CodeBuild à GitHub, procédez comme suit :
- Ouvrez la console CodeBuild.
- Dans le volet de navigation, développez Créer, puis sélectionnez Créer des projets.
- Sélectionnez votre projet de création, puis choisissez Modifier.
- Dans la section Source, consultez le message Informations d’identification pour identifier la méthode d'authentification utilisée.
Pour les jetons d'accès personnels
Pour vérifier que votre jeton d'accès personnel existe et qu'il est valide, procédez comme suit :
- Vérifiez les paramètres de votre développeur GitHub. Pour plus d'informations, consultez la section Gestion de vos jetons d'accès personnels sur le site Web de GitHub Docs.
- Assurez-vous d'avoir correctement configuré votre jeton d'accès personnel avec les prérequis relatifs au jeton d'accès.
- Si vos jetons d'accès personnels ont expiré, régénérez les jetons d'authentification et mettez-les à jour dans AWS Secrets Manager.
Pour un secret Secrets Manager
Pour vérifier que votre code secret Secrets Manager existe et qu'il n'a pas expiré, effectuez les actions suivantes :
- Si vous êtes connecté via un secret Secrets Manager, vérifiez que ce secret existe et que sa valeur est à jour.
- Vérifiez que votre rôle de service de projet CodeBuild utilise le paramètre secretsmanager:GetSecretValue pour récupérer les secrets.
Pour vérifier si vous disposez des autorisations secretsmanager:GetSecretValue, obtenez le rôle de service du projet CodeBuild. Procédez comme suit :
- Ouvrez la console CodeBuild.
- Sélectionnez le projet, puis cliquez sur l'onglet Détails du projet.
- Dans la configuration de l’environnement, choisissez le paramètre Rôle de service.
- Sélectionnez le rôle de service.
- Assurez-vous que le rôle dispose des autorisations suivantes :
"Action": [
"secretsmanager:GetSecretValue"
],
"Resource": [
"arn:aws:secretsmanager:region:account-id:secret:secretName"
]
Remarque : Remplacez region par votre région AWS, account-ID par votre ID de compte AWS et secretName par le nom de votre secret.
Pour les applications OAuth
Votre jeton OAuth est lié à l'utilisateur de GitHub. Si l'utilisateur de GitHub est supprimé de l'organisation, le jeton n'est plus valide. Pour vérifier vos applications OAuth autorisées, vérifiez que la liste d’applications sur GitHub inclut l'application AWS CodeBuild (région) appartenant à aws-codesuite.
Pour CodeConnections
Pour vérifier que CodeConnections existe et est valide, effectuez les actions suivantes :
Informations connexes
Application GitHub OAuth
Accès à GitHub et GitHub Enterprise Server dans CodeBuild
Modifier les paramètres du projet de génération dans AWS CodeBuild