컴파일 : 소스코드를 바이너리코드(0,1로 이루어진 기계어)로 변환하는 과정
링크 : 여러개로 분리된 컴파일된 결과물들에서 최종실행 가능한 파일을 만들기 위해 필요한 부분을 찾아서 연결해 주는 작업
빌드 : 소스코드를 실행 가능한 소프트웨어 산출물(jar,war)로 만드는 일련의 과정(빌드와
컴파일이 포함이 됨)
--> 따라서 우리는 빌드버튼만 눌러서 저런 컴파일, 링크 등 일련의 테스크 들을 작업할 수 있었다.
빌드도구: 소스코드를 컴파일,테스트,정적 분석 등을 실시하여 실행 가능한 애플리케이션으로 자동 생성하는 프로그램
계속해서 늘어나는 라이브러리의 자동 추가 및 관리, 라이브러리의 버전을 자동으로 동기화
(원래는 jar 파일 라이브러리를 직접 추가했어야 했음, repository.xml에 한줄만 추가하면됨. 특정 PC나 장치에 종속될 필요가 없어)
자바의 대표적 빌드 도구 : Maven, Gradle , Ant
배포 : 작성한 코드를 빌드하고, 빌드가 완성된 실행가능한 파일을 사용자가 접근할 수 있는 환경에 배치하면 배포가 완료된 (==> 빌드를 하여 생성된 jar 또는 war 파일을 WAS에 올리는 것이 배포!)
무중단 배포
롤링배포 : 로드밸런서에 물린 서버를 한대씩 배포하는 방법
단점 : 배포할 서버가 많다면 이전서비스와 신규서비스를 동시에 제공하는 시간이 길다.
시간이 느림,
카나리아배포: 소수만 사용하는 서버에서만 테스트용 배포를 해보고, 다수에 서버에 한번 배포하는 방
블루그린배포 : 여분의 서버들을 두어 로드밸런서를 바꿔 배포해버리는 방식
단점 : 서버유지비용이 2배로 듬
최근댓글