애플리케이션 배포환경 구성
소스코드 빌드 과정의 이해
빌드는 소스코드를 실행할 수 있는 상태로 변환하는 과정을 말하며, 프로그래밍 언어의 유형에 따라 빌드 과정이 상이하다.
1. 컴파일 언어(C, C++ 등)
컴파일 언어는 기게어로 바로 변환되어 실행되기 때문에 가장 속도가 빠르고 보안에 유리하며 빌드 과정은 전처리기, 파싱, 변역, 어셈블리, 링킹 과정을 통해서 진행.
2. Byte Code 언어(Java, C# 등)
Byte Code 언어는 컴파일은 결과물이 실행파일이 아닌 'class'라는 바이트코드 파일로 생성되고 가상 실행환경인 JRE, CLI에서 한 줄씩 실행하는 방식으로 빌드된다.
3. 인터프리터 언어()Javascript, Python, Ruby 등)
인터프리터 언어는 컴파일 언어와 다르게 한 줄씩 번역되어 실행된다.
애플리케이션 배포(Release) 환경
애플리케이션 배포는 개발자 또는 사용자가 애플리케이션을 샐행, 테스트할 수 있도록 컴파일된 프로그램, 실행에 필요한 리소스를 서버상의 적합한 위치로 이동하는 작업을 말하므로 해당 애플리케이션의 동작환경의 영향을 받는다.
1. 웹 서버(Web Server)
사용자의 http 요청을 받아 웹 컨테이터에 요청을 전달하고 결괏값을 받아와 사용자에게 전송하는 역할을 수행한다. 애플리케이션 배포 시 이미지, 단순 HTML과 같은 정적인 리소스를 배포하며, 정적 리소스를 빠르고 안정적으로 처리한다.
2. WAS(Web Application Server)
사용자의 요청을 받아 동적인 처리를 수행하는 프로그램 실행 부분을 배포하며 WAS 구성 및 운용을 위한 국제 표준 규격을 정하고 있으며, 제품마다 배포 방식과 설정이 일부다며 웹 애플리케이션의 경우 UI 배포 영역과 Biz. 배포 영역으로 구분되어 있다.
애플리케이션 배포 단위
애플리케이션은 배포 시 단순히 컴파일된 실행 파일 또는 Byte Code를 복사하는 방식 이외에 다향한 단위로 묶음, 패키징을 통해서 배포할 수 있다.
1. jar(Java Archive)
Java 라이브러리, 리소스, property 파일들을 포함한다. 프로그램에서 참조하는 라이브러리, 구현된 비즈니스 서비스를 배포할 때 jar 단위로 패키징하여 배포.
2. war(Web Archive)
웹 컨테이너에 배포되는 배포 혀식으로 Servlet, jar 파일과 WEB-INF 폴더에 있는 web.xml 파일로 구성되며 웹 컨테이너상에 배포되어 독립적인 UI단 웹 애플리케이션 서비스를 제공할 수 있다.
3. ear(Enterprise Archive)
jar와 war을 묶어서 하나의 완성된 웹 애플리케이션 서비스를 제공할 수 있다.
형상관리(Configuration Management) 시스템
형상관리시스템은 서비스 제공대항 형상항목을 식별하여 기준선(Baseline)을 설정하고, 형상항목 변경 과정에서 점검, 검증등의 체계적인 통제를 통해 형 상항목 간의 일관성과 추적성을 확보하기 위한 시스템이다.
1. 형상관리의 범위
형상관리 범위는 신규 프로젝트 및 보완 개발, 업무시스템의 운영/유지보수, 전산 설비 및 시스템 소프트웨어 등과 관련된 작업, 사용자(EUC : End User Computing) 파일 관리 등을 포함한다.
2. 형상관리 시스템에서 사용하는 용어
(1) 형상관리(Configuration Management)
소프트웨어의 전체 생명 주기, 즉 계획부터 개발, 운영, 유지보수, 폐기까지 발생하는 모든 활동을 지속적으로 관리하는 것을
의미하며 이를 위해 형상항목들에 대해 식별 표시를 붙여 추적이 가능하게 만들고, 형상항목들에 대한 변경을 제어하고 관리
하는 프로세스가 필요.
(2) 형상항목(Configuration Item)
형상관리 대항이 되는 항목을 의미하고 유일한 식별자가 부여되어 개별적으로 관리되는 소스 파일, 문서, 기타 사항 등 포함.
(3) 기준선(Baseline)
공식적으로 검토되고 협의되어 향후 기준이 되는 형상항모의 집합체를 의미.
(4) 마이그레이션(Migration)
개발 완료된 시스템이 운영 단계로 전환될 때 관련 소스 파일을 저장 공간(리포지터리)으로 이관시키는 작업을 의미.
(5) 리포지터리(Repository)
관리 대상을 형상관리시스템으로 일괄 전송하여 압축, 암호화한 후에 저장, 관리하는 저장 공간을 의미.
(6) 워크플로(Workflow)
형상관리 활동을 수행하기 위해 미리 정해진 절차가 형상관리 시스템 안에 구현되어 있는 것을 의미.
(7) 반출(Check Out)
형상항목을 변경하기 위해 형상 리포지터리로부터 전송받는 것을 의미.
(8) 반입(Check In)
반출된 형상항목을 변경 후 다시 형상 리포지터리로 전송하는 것을 의미.
*NCS 모듈 참조
'일학습 병행 SW개발_L3 훈련과정' 카테고리의 다른 글
| [NCS 모듈] 애플리케이션 배포 - 애플리케이션 빌드하기(3) (3) | 2024.12.09 |
|---|---|
| [NCS 모듈] 애플리케이션 배포-애플리케이션 소스 검증(2) (7) | 2024.12.09 |
| [NCS 모듈] 애플리케이션 테스트 수행 - 애플리케이션 결함 조치하기(2) (6) | 2024.12.06 |
| [NCS 모듈] 애플리케이션 테스트 수행 - 애플리케이션 테스트 수행하기(1) (9) | 2024.12.06 |
| [NCS 모듈] UI테스트 - 테스트 결과 보고하기(3) (6) | 2024.12.05 |