728x90
반응형
무슨 일이 있었나
CD 파이프라인에서 Docker 이미지를 ghcr.io에 push하려다 아래 에러 발생.
ERROR: denied: installation not allowed to Create organization package
원인
GITHUB_TOKEN은 기본적으로 contents: read 권한만 갖는다. 개인 레포에서는 자동으로 패키지 쓰기가 허용되는 경우도 있지만, 조직(org) 레포에서는 명시적으로 선언하지 않으면 패키지 생성이 막힌다.
해결
cd.yml 최상단에 permissions 블록 추가.
permissions:
contents: read
packages: write
조직 설정에서 "Read and write permissions" 권한이 없어도 이것만으로 동작한다.
추가로 발견한 것
github.repository_owner를 이미지 태그에 그대로 쓰면 org명에 대문자가 있을 때 에러난다 → [[TIL - ghcr.io 이미지 태그는 소문자만 허용된다]] 참고.
또한 .env.prod의 GITHUB_OWNER 값도 소문자로 맞춰야 한다. docker-compose.prod.yml이 이 변수로 이미지 태그를 조합하기 때문이다.
교훈
org 레포에서 GitHub Actions로 패키지(ghcr.io) 관련 작업을 할 때는 항상 permissions: packages: write를 명시할 것.
반응형
'Study' 카테고리의 다른 글
| [내일배움캠프 TIL] - 부하 테스트 지표와 p95가 국룰인 이유 (0) | 2026.07.03 |
|---|---|
| [내일배움캠프 TIL] - Redis 동시성 제어 3가지 방식 비교 (0) | 2026.07.02 |
| [내일배움캠프 TIL] Lettuce 첫 번째 Redis 호출이 3초나 걸린 이유 (Cold Start 지연) (0) | 2026.06.30 |
| [내일배움캠프 TIL] ghcr.io 이미지 태그는 소문자만 허용된다 (0) | 2026.06.29 |
| [내일배움캠프 TIL] Spring Cloud Gateway Rate Limiting에 Redis가 필요한 이유 (0) | 2026.06.26 |