Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

프로젝트를 실행 하기 위한 최소한의 리눅스 Util 설정

참고: 서버 초기 설정 - Rhel 7,8

자바 설정

...

Node.JS 설정

NodeJS는 버전 변경에 효율적으로 대응하기 위해 NVM 설치 권장, 폐쇠망에서는 Binary 설치 필요

참고: Java11 Node.js 설치 - Rhel 7,8

Nginx 설정

Nginx 설치

Yum으로 설치 권장, 폐쇠망에서는 Binary 설치 필요

...

참고: https://ionsdp.atlassian.net/wiki/spaces/ICE4P/pages/1722090354/Nginx+global+nginx.conf#gzip-%EC%95%95%EC%B6%95-%EC%84%A4%EC%A0%95

...

BackOffice 서버용 설정: /etc/nginx/conf.d/

...

backoffice.conf

Http통신, Https 통신에 따른 Backend 서버 설정

참고: Nginx Applicaion 서버 conf 설정

...

ICE4

...

BackOffice Application Linux 설치

서버 실행을 위한 필수 파일 목록

war 전체 BackOffice 소스 파일

  • 저장경로: /app/ice4/{프로젝트명}-{서버타입}/core/output/backend-core-0.0.1-SNAPSHOT.waradmin

  • (예시) /app/ice4/demo-dev/core/output/backend-core-0.0.1-SNAPSHOT.war

shell 스크립트 파일

  • 저장경로: admin/

노드 모듈

  • 서버에서 설치: npm i -g yarn cross-env pm2

    • npm라이브러리 설치: yarn

    • 환경 변수 사용: cross-env

    • 어플리케이션 데몬 실행: pm2

홈 디렉토리 설정

폴더 생성

프로젝트에 사용할 관련 폴더 생성

생성 필요한 폴더 리스트

  • /app/ice4

  • /app/ice4/{프로젝트명}-{서버타입}/core/shell/ice4-linux.sh

  • (예시) /app/ice4/demo-dev/core/shell/ice4-linux.sh

쉘 스크립트 설정

수동 설치시에는 ice4-linux.sh 파일을 활용해 start / stop 명령 실행

참고: https://ionsdp.atlassian.net/wiki/spaces/ICE4P/pages/1755709847/ICE4 +Backend+-+project#Shell-Script-%EC%84%A4%EC%A0%95

홈 디렉토리 설정

참고: ICE4 홈디렉토리 생성 - Rhel 7,8

리눅스 서버에 소스 저장: /app/ice4/{프로젝트명}-{서버타입}/

...

admin

Option 1. 서버에서 Git clone 후 빌드 & 실행

...

  • (예시) git clone -b project/DEMO http://dcsf-dev08.i-on.net/dxp/backendcorefrontbuilder.git

...

폴더명 변경

mv backendcore corefrontbuilder admin

...

최종 파일 저장 예시

해당 프로젝트 폴더 /app/ice4/{프로젝트명}-{서버타입}/core에 admin에 git에서 내려받은 파일이 저장되어야함

...

backend 빌드 실행

./gradlew build -x test

...

빌드 파일 확인

{프로젝트폴더}/output/backend-core-0.0.1-SNAPSHOT.war

...

빌드 에러시: Could not get file mode for '/app/ice4/demo-dev/core/src/main/webapp/WEB-INF/jsp/easyPay/mobile/????????????????????????????????????.html'.

해당 파일 삭제

...

BackOffice 노드 모듈 설치

yarn install

...

BackOffice 빌드 실행

yarn run build:{서버타입}

  • (예시) 개발서버: yarn run build:dev

...

빌드 파일 확인

...

Option 2. SFTP로 빌드 파일 저장

폴더 생성

프로젝트에 사용할 관련 폴더 생성

생성 필요한 폴더 리스트

  • /app/ice4

  • /app/ice4/{프로젝트명}-{서버타입}/core/output

    • (예시) /app/ice4/demo-dev/core/output

  • /app/ice4/{프로젝트명}-{서버타입}/core/shell

쉘 스크립트 & war파일 저장용 폴더 생성

mkdir -p /app/ice4/{프로젝트명}-{서버타입}/core/output && mkdir -p /app/ice4/{프로젝트명}-{서버타입}/core/shell

  • (예시) mkdir -p /app/ice4/demo-dev/core/output && mkdir -p /app/ice4/demo-dev/core/shell

...

filezilla나 SecureCRT를 활용하여 파일 저장

backend 로컬 빌드

macOS

  1. 터미널 실행 후 프로젝트 폴더로 이동

  2. ./gradlew build -x test 실행

    1. Image Removed
  3. {프로젝트}/output 폴더에 해당 파일 생성 확인

    1. Image Removed

windows10

...

커맨드 실행 후 프로젝트 폴더로 이동

...

backoffice 로컬에서 서버용 빌드

빌드 실행

프로젝트 폴더에서 서버 타입을 지정하고 빌드 명령어 실행

yarn run build:{서버타입}

  • (예시) 개발서버: yarn run build:dev

...

빌드 완료 확인

...

프로젝트 폴더명 변경

  • 프로젝트 폴더명 → admin

전체 소스 압축

tar -zcvf admin.tar.gz admin

  • 서버에서 git연결을 하지 않을 경우 .git 폴더 삭제 후 압축 권장(압축 시간 축소)

...

파일 FTP로 서버에 저장

war tar 파일 저장

저장경로: /app/ice4/{프로젝트명}-{서버타입}/core/output/backend-core-0.0.1-SNAPSHOT.war

shell 파일 저장

저장경로: /app/ice4/{프로젝트명}-{서버타입}/core/shell/ice4-linux.shadmin.tar.gz

tar 파일 압축 해제

tar -zxvf admin.tar.gz

...

서버 실행

파일 위치: /app/ice4/{프로젝트명}-{서버타입}/core/shell/ice4-linux.shadmin

서버 시작

./ice4-linux.sh start

스키마 로드

프로젝트 start 후 실행시, 서버가 정상 상태(status code 200)일 때 자동으로 스키마 로드

./ice4-linux.sh loadSchema

서버 종료

./ice4-linux.sh stop

로그 확인

cd /app/ice4/{프로젝트명}-{서버타입}/logs/core/

tail -f ice4.logpm2 start ecosystem.config.js --env {서버타입}

  • (예시) 개발서버: pm2 start ecosystem.config.js --env dev

서버 종료

pm2 stop ecosystem.config.js --env {서버타입}

로그 확인

pm2 log ecosystem.config.js --env {서버타입}

혹은 서비스명

pm2 log ice4-admin