프로젝트 생성 - Backend

 


프로젝트 생성 - Backend

브랜치 생성

http://dcsf-dev08.i-on.net/dxp/backendcore 접속

backendcore 메인 홈 → + 버튼 → New Branch 클릭

브랜치명 입력

명명규칙: project/{프로젝트명(대문자)}

  • ex) project/DEMO

브랜치 생성된 화면 예시

 

로컬 PC에 backend 환경설정

Git 소스를 로컬에 설치 후 프로젝트 환경 설정을 진행해야함

  • applicaion 프로파일을 구성하기 전이기 때문에 backend 설치 후 로컬 서버 실행은 필요하지 않음

ICE4 backend 로컬 설치 가이드: Backend

 

 


프로젝트 환경설정

ICE4 backend는 프로젝트 Default set 샘플을 {프로젝트}/devops 폴더에 사전에 구성하였음.

샘플 스키마, Nginx, Jenkins 스크립트, 스프링부트 Profile 등.

 

프로젝트 초기 샘플 스키마 설정

ICE4 backend는 프로젝트 Default set 샘플을 {프로젝트}/devops/schema 폴더에 사전에 구성하였음. 프로젝트 샘플은 어드민용 사용자 계정, 어드민 페이지 메뉴 등 기본적인 설정이 포함. 스프링 부트 실행 후 로딩하기 위해 필요

 

프로젝트 샘플 파일 복사

프로젝트 시스템 설정 스키마

프로젝트/devops/schema/projects/demo → src/main/resources/projects/{project}에 복사

src/main/resources/projects/{project} 하위 파일의 프로젝트 설정 변경: demo → {project}

모든 demo 부분을 프로젝트 명으로 변경

(예시1) adminData.json의 “project” : “demo”의 “demo” 부분을 프로젝트 명으로 변경

→ application-{project}-{servertype}.yml의 core.project에 사용한 이름과 동일하게 설정

(예시2) boSiteData.json

  • “project” : “demo” → 프로젝트명으로 변경

  • “signInSuccessPageUrl” : “/admin/demo/dashboard” → “/admin/{project}/dashboard”

 

프로젝트 샘플 스키마 및 API

프로젝트/devops/schema/demo → src/main/resources/{project}에 복사

모든 demo 부분을 프로젝트 명으로 변경

 

 

Springboot Profile default set 파일 복사

로컬, 서버 환경에 따라 설정이 다르기 때문에 환경에 맞는 환경설정 구성을 준비.

ICE4 backend는 프로젝트/devops/springbootProfile 폴더에 스프링 부트 서버 실행에 사용할 profile을 사전에 구성.

  • {프로젝트}/devops/springbootProfile 폴더의 전체 yml 파일 → src/main/resources에 복사

  • 파일명 변경

    • demo → 실제 프로젝트명으로 변경

      • (예시) application-{프로젝트명}-loc-mac.yml

      • (예시) logback-{프로젝트명}-loc-mac.yml

  • src/main/resources에 프로젝트 실행에 불필요한 기존 profile 삭제

 

 


Shell Script 설정

스크립트 파일 복사

{프로젝트}/devops/ice4.sh 파일을 {프로젝트}/shell 폴더에 생성

  • 리눅스 실행용: ice4-linux.sh

  • 젠킨스 실행용: ice4-jenkins.sh

 

 

리눅스 실행용 쉘 스크립트 수정: ice4-linux.sh

SPRING_PROFILE=”{프로젝트명}-{서버타입}”

HOME_DIRECTORY=”{프로젝트 홈디렉토리}”

BACKEND_URL=”{API URL}” → 서버 실행 완료 후 스키마 로딩용

 

스키마 로드 설정

서버 실행 후: ./ice4-linux.sh start

스키마 로드 시 사용: ./ice4-linux.sh loadSchema

→ 60초 간격으로 서버 호출

→ 서버가 정상 로딩 되었을때(status code: 200) 스키마 로드 목적

 

loadSchema Function에서 프로젝트명 설정

loadSchema?filePath={프로젝트명}