Backend - Rhel 7, 8 Jenkins SCM 설치
- 1 리눅스 설정
- 1.1 초기 설정
- 1.2 자바 설정
- 1.3 Nginx 설정
- 1.3.1 Nginx 설치
- 1.3.2 Global Nginx 설정: /etc/nginx/nginx.conf
- 1.3.2.1 gzip 설정
- 1.3.3 Backend 서버용 설정: /etc/nginx/conf.d/backend.conf
- 2 ICE4 Backend Application Linux 설치 - Jenkins SCM
- 2.1 쉘 스크립트 설정
- 2.2 홈 디렉토리 설정
- 2.3 Jenkins SCM
- 2.3.1 젠킨스에서 파이프라인 생성
- 3 긴급 상황시 사용 가능한 쉘 스크립트: ice4-linux.sh
리눅스 설정
초기 설정
프로젝트를 실행 하기 위한 최소한의 리눅스 Util 설정
자바 설정
ICE4는 자바 11 사용, Yum으로 설치 권장, 폐쇠망에서는 Binary 설치 필요
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