GitHub Action을 소스 제공자로 사용하여 AWS CodeBuild 프로젝트를 구성했습니다. 하지만 빌드가 Download_Source 단계를 시작하면 실패합니다.
간략한 설명
올바른 프로젝트 설정으로 작업을 호출하려면 CodeBuild 프로젝트 이름을 포함해야 합니다. 인증을 받지 않은 경우 다음과 같은 오류가 발생하고 CodeBuild 프로젝트가 Download_Source 단계에서 실패합니다.
"CLIENT_ERROR: authentication required for primary source"
"CLIENT_ERROR: authorization failed for primary source and source version:"
이러한 오류를 해결하려면 사용된 인증 방법을 파악한 다음 필요한 설정 및 권한을 구성하십시오.
해결 방법
CodeBuild를 GitHub에 연결하는 데 사용되는 방법을 결정하려면 다음 단계를 완료하십시오.
- CodeBuild 콘솔을 엽니다.
- 탐색 창에서 빌드를 선택하고 빌드 프로젝트를 선택합니다.
- 빌드 프로젝트를 선택한 다음 편집을 선택합니다.
- 소스 섹션에서 자격 증명 메시지를 검토하여 사용된 인증 방법을 파악합니다.
개인 액세스 토큰
개인 액세스 토큰이 존재하고 유효한지 확인하려면 다음 작업을 수행하십시오.
Secrets Manager 비밀
Secrets Manager 비밀이 존재하고 만료되지 않았는지 확인하려면 다음 조치를 취하십시오.
- Secrets Manager 비밀을 통해 연결된 경우 비밀이 존재하고 값이 최신 상태인지 확인합니다.
- 비밀을 가져오려면 CodeBuild 프로젝트 서비스 역할에 secretsmanager:GetSecretValue가 있는지 확인합니다.
secretsmanager:GetSecretValue 권한이 있는지 확인하려면 CodeBuild 프로젝트의 서비스 역할을 획득합니다. 다음 단계를 완료하십시오.
- CodeBuild 콘솔을 엽니다.
- 프로젝트를 선택한 다음 프로젝트 세부 정보 탭을 선택합니다.
- 환경 구성에서 서비스 역할 설정을 선택합니다.
- 서비스 역할을 선택합니다.
- 역할에 다음 권한이 있는지 확인합니다.
"Action": [
"secretsmanager:GetSecretValue"
],
"Resource": [
"arn:aws:secretsmanager:region:account-id:secret:secretName"
]
참고: region을 AWS 리전으로, account-ID를 AWS 계정 ID로, secretName을 비밀 이름으로 바꾸십시오.
OAuth 애플리케이션
OAuth 토큰은 GitHub 사용자와 연결되어 있습니다. GitHub 사용자가 조직에서 제거되면 토큰은 더 이상 유효하지 않습니다. 승인된 OAuth 애플리케이션을 검토하려면 GitHub의 애플리케이션 목록에 aws-codesuite가 소유한 AWS CodeBuild(리전) 애플리케이션이 포함되어 있는지 확인하십시오.
CodeConnections
CodeConnections가 존재하고 유효한지 확인하려면 다음 작업을 수행하십시오.
관련 정보
GitHub OAuth 앱
CodeBuild에서 GitHub 및 GitHub Enterprise Server 액세스
AWS CodeBuild에서 빌드 프로젝트 설정 변경