카테고리 없음

🚀 [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) 단계 준비 및 적용 검토
  • 테스트 커버리지 및 추가 검사 도구 적용 고려