Backend - Rhel 7, 8 Jenkins SCM 설치

 

 


리눅스 설정

초기 설정

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

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

자바 설정

ICE4는 자바 11 사용, Yum으로 설치 권장, 폐쇠망에서는 Binary 설치 필요

참고: Java11 설치 - Rhel 7,8

 

Nginx 설정

Nginx 설치

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

참고: Nginx 설치

Global Nginx 설정: /etc/nginx/nginx.conf

참고: Nginx global 설정(nginx.conf)

gzip 설정

서비스 성능 튜닝을 위한 정적 리소스 압축

참고: Nginx global 설정(nginx.conf) | gzip 압축 설정

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

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

참고: Nginx Applicaion 서버 conf 설정

 

 


ICE4 Backend Application Linux 설치 - Jenkins SCM

쉘 스크립트 설정

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

참고: 프로젝트 생성 - Backend | Shell Script 설정

 

홈 디렉토리 설정

ICE4 Backend 실행하는 유저와 동일한 유저로 생성된 홈 디렉토리 필요

경로: /app/ice4

  • Nas사용시: /nas/ice4 추가 생성 필요

참고: ICE4 서버 네이밍룰 표준 가이드- Rhel 7,8

 

Jenkins SCM

jenkins SCM은 별도의 빌드 스크립트나 설정을 구성하지 않은 채, 소스에 저장되어있는 Jenkinsfile에 있는 스크립트를 사용하여 Build하는 방식

젠킨스에서 파이프라인 생성

젠킨스홈 → New Item 클릭

 

파이프라인 이름 입력 → Pipeline → OK 클릭

  • 파이프라인 명명 규칙: {프로젝트명}-api-{서버타입}

    • (예시) demo-api-dev

Pipeline 탭 클릭

 

Pipeline script fromSCM 클릭

  • SCM : Git

  • Repository URL: Git 소스 URL

  • Credentials: Git 계정/비밀번호

    • config → credentials에서 설정된 계정 정보

  • Branch Specifier: Git Branch 정보

정보 입력 후 Save 클릭

Build Now 클릭

Build 버튼 → Build with Parameters 로 변경된 것 확인

  • 최초 빌드 실행시에는 빌드에 사용할 파라미터 정보를 로딩하지 못하여 에러 발생하는것이 정상

 

Build with Parameters 클릭

  • CI/CD에 사용할 파라미터가 활성화된 것 확인. 아래의 그림과 같이 Form 형태로 출력

 

Build 클릭

빌드 완료되는것 확인

 

로그 확인 방법

  • 왼쪽 하단 빌드 실행된 번호 클릭

Console Output 클릭

 

빌드시 에러가 발생하는지 로그 확인

 

빌드 완료시 Success 확인 가능

 

각 단계에서 fail이나 warning이 있었는지 최종확인

 

최초 배포시 서버에 접속하여 배포된 파일 및 로그 확인

ICE4 프로젝트 경로: /app/ice4/demo-dev

  • core: war파일, 쉘 스크립트 및 리소스

  • dump: 백업 폴더

  • logs: 로그 폴더

 

ICE4 Backend 배포 경로: /app/ice4/demo-dev/core

 

리소스 폴더: /app/ice4/demo-dev/core/resource

 

로그 폴더: /app/ice4/demo-dev/logs/core

 


긴급 상황시 사용 가능한 쉘 스크립트: ice4-linux.sh

젠킨스에서 빌드 시 ice4-linux.sh 파일도 함께 배포.

긴급 상황에서 ICE4 Backend를 Stop/Start를 하기위해 ice4-linux.sh 파일을 사용

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

서버 시작

./ice4-linux.sh start

서버 종료

./ice4-linux.sh stop

스키마 로드

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

./ice4-linux.sh loadSchema

로그 확인

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

tail -f ice4.log