애플리케이션 배포

김상우·2022년 4월 10일
0
post-thumbnail

패키징

모듈별로 생성한 실행 파일들을 묶어 배포용 설치 파일을 만드는 것

  • 작업 순서
    기능 식별->모듈화->빌드 진행->사용자 환경 분석->패키징 및 적용 시험->패키징 변경 개선->배포
  • 배포 파일 형식
형식내용
msiWindow용 패키지
dmgMac OS용 패키지
jarjava형식을 배포하기 위한 패키지
war웹 애플리케이션 서비스를 제공하기 위한 패키지
earjar와 war을 묶어 서비스를 제공 가능한 패키지
apkAndroid용 앱 패키지
ipaiOS용 앱 패키지

버전 등록

  • 형상관리(SCM; Software Configuration Management)
    개발 과정에서 소프트웨어의 변경 사항을 관리하기 위해 개발된 일련의 활동
  • 기능
기능내용
형상 식별형상 관리 대상에 이름과 관리번호 부여, 계층(tree) 구조로 구분 후 수정 및 추적이 용이하도록 하는 작업
버전 제어유지 보수 과정에서 생성된 다른 버전의 형상 항목 관리
형상 통제식별된 형상 항목에 대한 변경 요구를 검토하여 현재의 기준선(Base Line)이 잘 반영되도록 조정하는 작업
형상 기록형상의 식별, 통제, 감사 작업의 결과를 기록/관리하고 보고서를 작성하는 작업
  • 버전 등록 과정
    가져오기(Import)->인출(Check-Out)->예치(Commit)->동기화(Update)->차이(Diff)

관리 도구

  • 공유 폴더 방식
    버전 관리 자료가 지역 컴퓨터의 공유 폴더에 저장되어 관리되는 방식
    • 종류 : SCCS, RCS, PVCS, QVCS 등
  • 클라이언트/서버 방식
    버전 관리 자료가 서버에 저장되어 관리 되는 방식
    • 종류 : CVS, SVN(Subversion), CVSNT, Clear Case, CMVC, Perforce 등
  • 분산 저장소 방식
    버전 관리 자료가 원격 저장소와 개발자 PC의 지역 저장소에 함께 저장되어 관리되는 방식
    • 종류 : Git, GNU arch, DCVS, Bazaar, Mercurial, TeamWare, Bitkeeper, Plastic SCM 등

빌드 자동화 도구

빌드를 포함하여 테스트 및 배포를 자동화 하는 도구

  • Jenkins
    Java 기반의 오픈소스 형태로, 서블릿 컨테이너에서 실행되는 서버 기반 도구
  • Gradle
    Groovy를 기반으로 한 오픈 소스 형태의 자동화 도구
profile
아침엔 운동하고 밤엔 잠을 잔다.

0개의 댓글