오티스의개발일기

무중단 배포 (3) [프로젝트 생성편] spring boot + mysql + docker + github actions 본문

개발/spring boot

무중단 배포 (3) [프로젝트 생성편] spring boot + mysql + docker + github actions

안되면 될때까지.. 2025. 1. 20. 10:03
728x90

 


이번시간에는 기존에 만들었던 파일을을

application-secret.yml 이라는 파일을 만들고 코드를 분리하는 작업을 한후

git ignore에 등록후 Push 하는 작업을 하겠습니다.

 

 

목차

1. 프로젝트 생성

2. SQL 설정

3. git 생성 😀

4. aws EC2 생성

5. aws ssh 설정 및 필수 라이브러리 설치

6. docker 를 이용한 nginx 설정

7. docker 를 이용한 mysql 설정

8. spring boot HealthcheckController 작업 및 yml + Dockerfile 작업

9. Github Actions 설정

10. 최종 배포

 

 

전체 코드는  여기에 올라와있습니다.

https://github.com/1domybest/Spring_none_stop_deploy

 

GitHub - 1domybest/Spring_none_stop_deploy

Contribute to 1domybest/Spring_none_stop_deploy development by creating an account on GitHub.

github.com

 

3. Git 설정

이작업을 하는 이유는 DB의 계정 정보와 추후 사용할 ec2의 주소 등

중요한 정보들을 깃허브에 노출시키지 않기위해 하는 작업이기에 필수로 해주셔야합니다

특히나 저처럼 레파지토리를 public 으로 만드신다면 더더욱 필수입니다.

 

 

  1. application-secret.yml 생성
spring:
  datasource:
    url: jdbc:mysql://localhost:3306/spring_noneStop_deploy?useSSL=false&useUnicode=true&serverTimezone=Asia/Seoul&allowPublicKeyRetrieval=true
    username: root
    password: 1234
    driver-class-name: com.mysql.cj.jdbc.Driver

기존 application.yml 에있는 DB부분을 application-secret.yml 에 옮깁니다

  1. application.yml 생성
spring:
  config:
    import: application-secret.yml

  jpa:
    hibernate:
      naming:
        physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
      ddl-auto: create
    properties:
      hibernate:
        format_sql: true
    open-in-view: false

application-secret.yml 을 application.yml 에 import 해줍니다

깃 이그노어에 application-secret.yml 를 추가

 

 

 

그리고 기본적으로 java 이그로어를 추가했기떄문에 ignore 파일안에 *.jar 이 코드가있는데 이 거는 지워주셔야합니다.

제 혹시몰라 제 이그노어 파일을 첨부하겠습니다

# Compiled class file
*.class

# Log file
*.log

# BlueJ files
*.ctxt

# Mobile Tools for Java (J2ME)
.mtj.tmp/

# Package Files #
#*.jar <====== 이거 삭제
*.war
*.nar
*.ear
*.zip
*.tar.gz
*.rar

# virtual machine crash logs, see <http://www.java.com/en/download/help/error_hotspot.xml>
hs_err_pid*
replay_pid*

# --------------추가됨 -------------------
build/resources/main/application-secret.yml
src/main/resources/application-secret.yml
# --------------------------------------

 

여기까지 하면 git 설정이 끝났습니다!

다음시간에는 aws EC2 생성 을 진행하겠습니다

 

다음글

aws EC2 생성

 

spring boot + mysql + docker + github actions 무중단 배포 (4) [ aws EC2 생성 편 ]

이번시간에는ec2 에서 인스턴스를 생성하고전반적인 기반만 만들어 보겠습니다.   목차1. 프로젝트 생성 2. SQL 설정3. git 생성4. aws EC2 생성 😀5. aws ssh 설정 및 필수 라이브러리 설치6. docker 를

otis.tistory.com

 

 

728x90
Comments