...
프로젝트를 실행 하기 위한 최소한의 리눅스 Util 설정
자바 설정
...
Node.JS 설정
NodeJS는 버전 변경에 효율적으로 대응하기 위해 NVM 설치 권장, 폐쇠망에서는 Binary 설치 필요
참고: Java11 Node.js 설치 - Rhel 7,8
Nginx 설정
Nginx 설치
Yum으로 설치 권장, 폐쇠망에서는 Binary 설치 필요
...
...
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
터미널 실행 후 프로젝트 폴더로 이동
./gradlew build -x test
실행{프로젝트}/output 폴더에 해당 파일 생성 확인
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.log
pm2 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