종강하고 다른 공부도 쪼금씩 하며 시간이 흘렀다.
대상 수상했던 프로젝트 '잇다' 프로젝트
배포를 진행하고 싶었던 프로젝트였는데 팀원도 나도 시간이 이제 맞게 되어서 슬슬 진행해보려한다!
본격적으로 진행하기에 앞서 어떻게 배포과정을 거칠지 AI 툴을 사용해서 정리해보았다.
계획은 2월 중후반까지 완료하는 것이 목표이다
화이팅 ㅜ!!!
배포의 기본 과정
- 코드 작성 → 로컬에서 개발
- 코드 빌드 → 실행 가능한 상태(JAR, WAR)로 변환
- 서버 준비 → AWS 같은 클라우드 서버 세팅
- 코드 업로드 → 서버에 전송 (FTP, Git, SCP 등 활용)
- 애플리케이션 실행 → 서버에서 JAR 실행 (java -jar)
- 도메인 연결 → IP 또는 도메인으로 접근 가능하도록 설정
1. 서버 환경 준비
클라우드 서버를 이용하거나 직접 서버를 구성해야 함. 추천 클라우드 플랫폼으로는 AWS EC2, Google Cloud Compute Engine, Azure Virtual Machine이 있음. 간단한 테스트를 위해 Heroku나 Railway 같은 무료 플랫폼도 고려할 수 있음.
2. 데이터베이스 준비
데이터베이스가 필요하면 클라우드 기반 DB를 사용하거나 서버에 설치해야 함. 예를 들어, AWS RDS, Google Cloud SQL, 또는 MySQL/PostgreSQL을 설치할 수 있음.
3. 백엔드 애플리케이션 빌드 및 배포
Spring Boot 프로젝트를 실행 파일(JAR)로 빌드하는 과정
./mvnw clean package
생성된 target/*.jar 파일을 서버에 업로드한 후, 서버에서 다음 명령어로 실행
java -jar your-app-name.jar
4. 도메인 및 SSL 설정
도메인 이름을 구입하고 서버에 연결해야 함 . HTTPS를 사용하기 위해서는 Let's Encrypt 같은 무료 인증서를 설정하거나 클라우드 서비스 제공자의 SSL 설정을 사용해야 함.
5. 방화벽 및 포트 설정
서버의 방화벽 규칙에서 필요한 포트를 열어야 함 .
예를 들어, 8080 포트를 80으로 리다이렉트 설정하는 것이 좋음. Nginx나 Apache 등을 사용하여 리버스 프록시를 구성하는 것도 유용함.
2. 안드로이드 앱 준비
앱 코드에서 로컬 URL(http://10.0.2.2:8080 같은 것)을 배포된 서버 URL로 변경
private static final String BASE_URL = "https://your-domain.com";
API 보안 고려: 민감한 데이터 전송 시 HTTPS를 사용하고, API 키나 인증 방식을 추가하여 권한 관리를 강화해야 함.
앱 빌드 및 서명: 앱을 다른 사람들에게 배포하기 위해 프로덕션용 서명 키를 생성하고 앱을 서명해야 했음. Android Studio에서 Build → Generate Signed APK/Bundle을 통해 진행.
앱 배포: 앱스토어에 등록하기 위해 계정을 생성하고 필요한 정보를 준비한 후, 앱 번들을 업로드하고 검수 요청을 했음. 또는 APK 파일을 테스트 장치로 직접 공유할 수도 있음.
3. 테스트
앱과 서버가 서로 올바르게 통신하는지 확인하고, 다양한 네트워크 환경에서 동작 테스트를 진행.
4. 운영 중 유지보수
백엔드 서비스와 앱 업데이트를 정기적으로 관리하고, 서버 로그를 모니터링하여 오류를 확인하고 수정해야 함.
'개발일지 > CI CD' 카테고리의 다른 글
[CI/CD] 초보자도 쉽게 이해하는 ⭐EC2⭐ (내용 추가 중) (2) | 2025.02.12 |
---|