error username and password required 해결
팀프로젝트 배포를 하는 과정에서 발생했던 문제다. 구글에 찾아봐도 이와 같은 문제를 겪은 사람이 많이 없었다.
지금 생각하면, 헛웃음이 나오지만 그래도 재밌었으니 만족한다(?)
일단 도커허브에 로그인이 안되는 문제가 발생했는데..
Workflow File을 작성했고, docker hub의 username과 password를 받아오는 부분을 Github secrets를 활용하여 민감한 데이터를 안전하게 암호화했고, CI/CD workflow에서 이를 참조하도록 아래와 같이 설정했다. (secrets는 workflow 실행 시 안전하게 환경 변수로 전달하게 해준다.)

그런데, Error: Username and password required 에러가 뜨면서 CI/CD 파이프라인이 실패했다.

단순히 로그인 실패라 github secrets에 도커허브 Token 값이나 Username 값을 잘못 입력해서 문제가 발생했을 것이라 생각했고, 혹시나해서 다시 값을 토큰을 생성하고 값을 입력했다.

여전히~ 안되었고, 코드에도 크게 문제가 없어 보였고, 나는 고민이 많아졌다.
Docker Hub의 계정에 제한(Too many failed login attempts 같은(?))이 걸렸나..? 생각이 들어서 팀원에게 부탁해 팀원 계정으로 시도했으나, 여전히 안됐다.
이거는 secrets에서 값이 안오는 문제일 수 밖에 없다고 생각이 들었고..
그래서 secrets에서 잘 값을 받아오는지 확인하기 위하여 DOCKER_USERNAME과 DOCKER_TOKEN 환경 변수로 DOCKER_HUB_USERNAME 및 DOCKER_HUB_ACCESS_TOKEN의 값 확인을 직접 디버깅해서 확인해보기로 했다.

나머지 docker hub login 과정, image build and push, AWS 배포는 기존 흐름을 유지했고, 위와 같은 코드를 추가해서 테스트했다.
github actions에서 위의 워크플로우가 실행됐고, Debug Secrets 단계의 로그에서 다음을 확인했다.
만약에 값이 전달됐다면, ***과 같이 표시되면서 값이 실제로 전달된 것을 확인할 수 있을 것이다.
Github Actions는 secrets 값을 ***로 마스킹하므로 로그에서 실제 값은 확인할 수 없다.
그러나 값이 전달되었는지 여부는 아래와 같이 확인할 수 있기 때문이다.
ex)
Username: ***
Token: ***
github actions에서 위의 워크플로우가 실행됐고, Debug Secrets 단계의 로그에서 다음을 확인했다.

망할 빈값으로 오는 것이었다.
내가 secrets에 접근 권한이 없는 것인가 해서 바로 확인했고, 실제로 나는 secrets 값을 받을 수 없었다.
레포지토리 -> 세팅 -> actions -> general 에 들어가서 권한을 확인했고, 아래와 같았다.

팀프로젝트를 진행하면서, 팀원 분이 팀레포지토리를 만들었는데.. admin 권한이 아니라서 못 사용하는 것이었다.
Github actions에서 Read and write permissions 또는 Secrets 접근이 기본적으로 admin에 의해 활성화 되고, 팀원은 이를 수정할 수 없었다.
따라서 워크플로우가 정상적으로 동작하지 않았고, CI/CD 파이프라인에 필요한 DockerHub 로그인, AWS 배포 등 민감한 데이터가 전달되지 않은 것으로 보인다.
아 여전히 안됐다.. 도대체 왜..?
알고보니...

ㅋㅋㅋOrganization secrets에서 설정을 했는데 visibility가 public repositories라 private repo인 백엔드 레포에 시크릿에 저장되어있는 값이 전달이 안됐다 ㅋㅋㅋㅋㅋㅋㅋㅋ하
어차피 백엔드에서만 쓸거니까 일단 Organization에 생성할 필요가 없어 보였고, Repository secrets에 새로 다시 입력했다..


성공..!!
'지식 나눔' 카테고리의 다른 글
| Cloudflare Worker 기반 GitHub → Discord 알림 시스템 구축 (0) | 2025.11.19 |
|---|---|
| [Vue] 오픈소스 이슈 제보 후기 (3) | 2025.07.24 |
| [Spring Security 6 + AWS] HTTP ERROR 403 해결 (Order Annotation와 securityMatcher 사용) (1) | 2025.01.25 |
| [Github Actions & Docker] unable to authenticate, attempted methods - 해결 (0) | 2025.01.20 |
| Postman을 활용한 카카오톡 로그인 테스트 - Oauth2(Bad client credentials) (4) | 2024.01.28 |