Skip to content

Conversation

@belovelace
Copy link
Member

@belovelace belovelace commented May 20, 2025

1. 무슨 이유로 코드를 변경했나요?

  1. application.properties 자동 생성

    • GitHub Actions 내에서 DB 접속 정보(SPRING_DATASOURCE_URL 등)를 Secrets에서 주입
    • 빌드 직전에 워크플로우가 파일을 생성 → 비밀 유출 방지
  2. Docker Compose 서비스명·포트 매핑 조정

    • appspring 컨테이너명 변경
    • 8080:8080, 3306:3306 포트 바인딩 명시 → 로컬·CI 환경 동일화
  3. 비밀 정보 관리 강화

    • .env / GitHub Actions Secrets에 MySQL 계정·패스워드 저장
    • application.properties에는 직접 노출되지 않도록 변경
  4. 워크플로우 브랜치 트리거 수정

    • CI/CD 실행 브랜치를 신은지/main으로 고정
    • 잘못된 브랜치 푸시로 파이프라인 미실행 문제 해결
  5. 테스트 리포트 업로드 액션 버전 업데이트

    • actions/upload-test-report@v1 → 지원 버전으로 교체
    • 잘못된 액션 참조로 인한 CI 단계 에러 해소
  6. Dockerfile·빌드 컨텍스트 경로 지정

    • 워크플로우가 Dockerfile을 디렉토리로 인식하던 문제 해결
    • docker/build-push-actionfile: ./Dockerfile 옵션 추가
  7. AWS ECS 배포 단계 추가

    • Docker Hub로 이미지 푸시 후, AWS CLI (또는 AWS Actions)로 ECS 서비스 업데이트
    • 태스크 정의 내 컨테이너 이름·이미지 URI 동기화

2. 어떤 위험이나 장애를 발견했나요?

  • 환경 변수 누락 → 빌드·테스트 실패
    DB 접속 정보 없이는 애플리케이션 기동 불가 → CI 단계 전면 중단

  • 잘못된 액션 버전 참조
    Deprecated 또는 존재하지 않는 액션일 경우 워크플로우가 실행되지 않음

  • Docker Hub 인증 오류
    DOCKER_USERNAME/DOCKER_PASSWORD 미설정 시 이미지 푸시 실패

  • ECS IAM 권한 부족
    AWS 접근 권한 불충분 → 배포(Stage) 단계에서 리소스 업데이트 불가

  • YAML 구문·들여쓰기 오류
    워크플로우 파일(.yml) 문법 오류 시 “unrecognized workflow file” 에러 발생

  • 브랜치 네이밍 불일치
    로컬 브랜치와 워크플로우 트리거 브랜치가 다르면 CD가 아예 수행되지 않음

  • 서비스 무중단 배포 미설정
    ECS 롤링 업데이트 미구성 → 배포 중 잠시 다운타임 발생

  • 테스트 소요 시간 과다
    단위 테스트 실행 시간이 길어지면 CI 타임아웃 및 배포 지연


3. 관련된 스크린샷

CI Build & Test
GitHub Actions 빌드·테스트 화면

ECS 배포 결과
AWS ECS 서비스 업데이트 결과


실제 포트 정보
http://56.228.35.71:<포트>/


Ref: Issue #78

@belovelace belovelace changed the title [feat] cicd 설정 [6주차] 신은지 / [Chore] CICD 구축 May 20, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant