카테고리 없음
🚀 [GitHub Actions CI - 1단계: 문제 발생과 해결 자세히 보기]
Chansman
2025. 6. 6. 18:10
🚀 [GitHub Actions CI - 6단계: 문제 발생과 해결 자세히 보기]
6️⃣ CI 실행 중 발생한 대표적인 문제와 해결법
1. PostgreSQL 호스트명 my-db 인식 오류
- 증상:
django.db.utils.OperationalError: could not translate host name "my-db" to address: Temporary failure in name resolution
- 원인:
GitHub Actions 워크플로우 내 Postgres 서비스에 외부 포트(5432:5432)가 매핑되어 있어서 네트워크 충돌 발생 - 해결 방법:
.github/workflows/checks.yml의 Postgres 서비스 설정에서 ports 항목 삭제
내부 네트워크 연결로 충분하며, 외부 포트 매핑이 오히려 충돌과 오류를 발생시킴
2. docker-compose 명령어 관련 에러
- 증상:
/home/runner/work/_temp/xxxx.sh: line 1: docker-compose: command not found
- 원인:
GitHub Actions 런너 환경에 docker-compose가 설치되어 있지 않거나, 최신 Docker CLI에서는 docker compose로 변경됨 - 해결 방법:
워크플로우 파일에서 docker-compose → docker compose로 명령어 변경
또는 필요한 경우 공식 액션 docker/setup-buildx-action 등으로 도커 환경을 설정
3. 코드 스타일 검사 실패 (black, isort)
- 증상:
would reformat <파일명>
- 원인:
코드가 PEP8 스타일과 맞지 않아 자동 포맷팅이 필요함을 알려줌 - 해결 방법:
로컬 개발 환경에서 black .과 isort . 실행해 코드를 포맷팅 후 커밋
이후 워크플로우에서 스타일 검사를 통과
7️⃣ 요약 및 교훈
문제 유형원인 및 특징해결 방법
DB 호스트 네임 미인식 | 외부 포트 매핑으로 인한 네트워크 충돌 | ports 항목 삭제 |
도커 명령어 미지원 | docker-compose 미설치 또는 최신 Docker CLI 변화 | docker compose로 명령 변경 |
코드 스타일 불일치 | 자동 포맷팅 불필요한 코드 존재 | black, isort 실행 후 커밋 |
8️⃣ 다음 준비
- 위 문제 해결 후 워크플로우 정상 실행 확인
- 자동 배포(CD) 단계 준비 및 적용 검토
- 테스트 커버리지 및 추가 검사 도구 적용 고려