Skip to content

fix(infra): 운영 배포 Secret 파일 전송 방식 적용 - #210

Merged
1Seob merged 1 commit into
developfrom
fix/infra-prod-secret-transfer
Jul 28, 2026
Merged

fix(infra): 운영 배포 Secret 파일 전송 방식 적용#210
1Seob merged 1 commit into
developfrom
fix/infra-prod-secret-transfer

Conversation

@1Seob

@1Seob 1Seob commented Jul 28, 2026

Copy link
Copy Markdown
Collaborator

📝 요약(Summary)

  • 대용량 Secret 전달로 운영 배포의 SSH 명령이 시스템 크기 제한을 초과하는 문제를 수정했습니다.
  • Secret 값을 SSH 명령이나 환경변수 목록에 포함하지 않고 개별 파일로 전송하도록 변경했습니다.

주요 변경사항

  • Secret 준비 및 전송
    • 운영 Secret 50개를 러너에서 개별 Base64 파일로 생성
    • SSH 키 기반 SCP로 .deploy-secrets 디렉토리를 EC2에 전송
    • SSH 액션의 env, envs, ${{ secrets.* }} 직접 치환 제거
  • 원격 환경 복원
    • 일반 Secret과 Base64 프롬프트를 구분해 환경변수로 복원
    • 필수 파일 누락 및 디코딩 실패 시 배포 중단
    • 모든 Secret 복원이 끝난 후에만 기존 애플리케이션 종료
  • 보안 및 정리
    • Secret 디렉토리 700, 파일 600 권한 적용
    • 러너와 EC2에서 임시 Secret 파일 정리
    • rm -rf 없이 알려진 파일만 삭제한 뒤 빈 디렉토리를 rmdir로 제거
    • set -x를 사용하지 않아 평문 Secret의 로그 노출 방지

검증

  • 운영 배포 워크플로 YAML 파싱 성공
  • Secret 선언·파일 생성·원격 복원 목록 각각 50개 일치
  • 누락·미등록·중복 변수 0건 확인
  • SSH 단계의 env, envs, Secret 직접 치환 0건 확인
  • 모든 셸 스크립트 bash -n 문법 검사 통과
  • rm -rf 사용 0건 확인
  • git diff --check 통과
  • Java 애플리케이션 코드는 변경하지 않아 Gradle 테스트 미실행

🔗 Related Issue

  • Closes:

💬 공유사항

✅ PR Checklist

PR이 다음 요구 사항을 충족하는지 확인하세요.

  • PR 제목을 커밋 메시지 컨벤션에 맞게 작성했습니다.

대용량 Secret을 개별 Base64 파일로 생성해 SCP로 전달하고 원격에서 환경변수로 복원하도록 변경, SSH 명령 크기 초과 방지 및 비재귀 방식의 임시 Secret 파일
정리 적용
@1Seob
1Seob merged commit 2b55a78 into develop Jul 28, 2026
1 check passed
@1Seob
1Seob deleted the fix/infra-prod-secret-transfer branch July 28, 2026 18:43
@1Seob 1Seob mentioned this pull request Jul 28, 2026
1 task
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