5년동안 사용한 헤로쿠 클라우드에서 2022년11월28일 무료정책을 제거한다고 합니다.(아래)
https://help.heroku.com/RSBRUH58/removal-of-heroku-free-product-plans-faq
그래서, 이번에 기존 헤로쿠용 스프링부트 프로젝트를 구름ide 클라우드용으로 마이그레이션 해 보았습니다.
기존 헤로쿠용 소스: https://github.com/kimilguk/kimilguk-boot2/tree/boot14_03
기존 헤로쿠용 배포URL(11월 이후 삭제예정): https://kimilguk-boot2.herokuapp.com/
신규 구름ide용 h2 DB간편소스: https://github.com/kimilguk/kimilguk-boot2/tree/goormcloud
신규 구름ide용 postgreSQL DB소스(구글계정): https://github.com/kimilguk/kimilguk-boot2/tree/goorm14_03
- 주의) 재 실행시 우선 service mysql [postgresql] status 로 DB상태를 확인 한 후 실행상태가 아니면 start 먼저 시킨다.
신규 구름ide용 postgreSQL DB배포: https://kimilguk-boot-wpnhy.run.goorm.io/
- 그래들 업그레이드 설치
터미널창>> wget https://services.gradle.org/distributions/gradle-7.1.1-bin.zip -P /tmp
터미널창>> sudo unzip -d /opt/gradle /tmp/gradle-7.1.1-bin.zip
- 환경변수 추가(구름 컨테이너 기본설정 창에서 터미널-프로필에 아래내용 추가)
export GRADLE_HOME=/opt/gradle/gradle-7.1.1
export PATH=${GRADLE_HOME}/bin:${PATH}
source ~/.profile
-1) src/main/resources/application.properties 파일상단 코드수정(단, DB는 db-postgres를 사용하고, 네아로 로그인은 oauth-goorm파일을 추가합니다.)
중략...
#spring.profiles.include=db-postgres,oauth-heroku
spring.profiles.include=db-postgres,oauth-goorm
#구름ide 클라우드용 추가(아래) 필요없음. 원상복구,빌드 속도를 향상시키는 역할임
spring.jpa.open-in-view=false
중락...
#로깅레벨을 축소하면서 DB실행구문(SQL)이 나오지 않아서 추가
#단, 구름ide 클라우드에서는 false로 한다(아래) 필요없음. 원상복구
spring.jpa.show_sql=false
중략...
-2) src/main/resources/import.sql 파일 추가. 서버를 재시작 할 때마다 자동으로 초기화 된다.(db-postgress를 사용시 작업건너띔)
DELETE FROM SIMPLE_USERS
INSERT INTO SIMPLE_USERS VALUES (1, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, true, '$2a$12$gZ.yvR4/mbCM6ev5L88NOeCh3VeH07K3c5kErn02NwrlsCRyX6fMi', 'ADMIN', 'admin')
INSERT INTO SIMPLE_USERS VALUES (2, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, true, '$2a$12$gZ.yvR4/mbCM6ev5L88NOeCh3VeH07K3c5kErn02NwrlsCRyX6fMi', 'USER', 'user')
-3) 프로젝트 루트 최상위의 build.gradle 에서 하단 내용 추가
중략...
sourceCompatibility = '8'//지정한 자바버전. 단, 구름 클라우드에서는 11을 8로 변경한다.
중략...
//단, 구름ide에서는 배포시 테스트는 제외하도록 지정(아래)
test {
exclude '**/*'
}
//단, 구름ide에서는 KimilgukBoot2Application-plain.jar 파일까지 자동으로 생성되기 때문에 생성되지 않도록 처리한다(아래)
jar {
enabled = false
}
- 컨테이너 실행 전 설정에서 [자동 실행 스크립트] 항목에 외부 DB를 실행시키는 코드 추가: service postgresql start
- 터미널>>ps -ef | grep java
Process Stasut 상태에서 except kernel을 제외하고 모든 full 프로세스 중 grep 정규표현식(RegEx)으로 java 키워드가 들어가 프로세스만 검색한다.
현재 터미널에서 작동되는 프로그램 프로세스 번호 목록을 보여준다.
- 터미널>>kill 프로세스번호 (해당 번호의 프로세스를 종료한다. 아래 3개의 프로세스가 보이지만, 실제 자바앱인 2개만 지운다.)
- 터미널>>git branch -d 브랜치명 (깃 저장소의 브랜치삭제)
- 터미널>>git fetch --all (깃 저장소의 모든 리스트 정보만 가져오기)
- 터미널>>git reset --hard origin/<branch_name> (현재 브랜치 소스를 강제로 지정한 브랜치이름의 소스를 가져온다)
- 터미널>>sudo chmod +x gradlew (실행가능한 755로 변경해서 실행가능한 jar 파일을 만든다. 터미널>>./gradlew build 로 실행)
- 터미널>>./gradlew --refresh-dependencies (그래들 리프레시, 의존성 모듈을 최신 버전으로 가져온다.)
- 터미널>>nohup java -jar /workspace/kimilguk-boot2/build/libs/*.jar & > /dev/null (스프링 앱 무중단 백그라운드 실행.> 로그파일 생략.) 되도록이면, 이 명령은 터미널에서 사용하지 않는다. 구름ide 컨테이너 실행 메뉴를 사용하는 것이 더 좋다.
멀티 클라우드 아키텍처 구현_02(기초지식) (1) | 2022.10.08 |
---|---|
멀티 클라우드 아키텍처 구현_01(사전준비) (0) | 2022.10.03 |
헤로쿠 클라우드와 깃허브 연동이 다시 재개 되었습니다.^^ (0) | 2022.05.05 |
클라우드 활용 책 참조 (0) | 2022.01.09 |
스프링 클라우드 시작-피보탈 웹 서비스 중단됨-파스타로 대체해서 실습 (0) | 2021.09.20 |
댓글 영역