반응형
https://www.youtube.com/watch?v=JgRCaVwkPE8
이번 포스팅에서는 위의 영상을 정리해보았다. 키워드는 빌드, 자동화, 빌드 자동화 이렇게 총 세개로 구분하였다.
1. 빌드
1) 컴파일 : 사람이 작성한 원시파일(소스코드)을 컴파일러를 통해 컴퓨터의 언어로 전환시키는 과정
2) 링크 : 컴파일을 거친 오브젝트파일을 링커를 통해 외부 리소스(라이브러리, 리소스)들과 연결시켜 실행파일을 전환시키는 과정
3) 빌드 : 원시파일을 실행파일로 만들어내는 일련의 과정
2. 자동화
1) 자동화란?
: 매번 반복적으로 해야하는 일을 자동적으로 처리해주는 기능
ex. 서비스중인 프로그램의 코드를 수정하는 경우! 코드수정, git업로드, 컴파일, 빌드, 배포, 테스트코드작성, 테스트수행, 검증의 과정을 필수로 거쳐야하는데, 굳이 사람이 하지 않아도 될법한 절차들을 프로그램이 대신 해주는 작업
-> 빌드를 자동화하면 빌드자동화
-> 배포를 자동화하면 배포자동화
-> 테스트를 자동화하면 테스트자동화
3. 빌드 자동화
1) 빌드자동화의 역할
- 의존성 다운로드
- 소스 코드를 이전 코드로 컴파일
- 이전 코드 패키징
- 자동화도니 테스트를 실행
- 프로덕션 시스템 배포
2) 빌드 도구란?
: 소스코드로부터 실행 가능한 어플리케이션을 생성하는 것(빌드)을 자동화하는 프로그램.
-> 소규모 프로젝트의 경우 빌드자동화 없이 직접 진행해도 되지만, 대규모 프로젝트로 전환되는 순간 데이터가 너무 많아서 파악이 어렵다. 빌드프로세스를 일관성있게 유지시키기 위한 목적으로 빌드 자동화를 사용한다.
3) JAVA 빌드 도구의 종류와 특징
: 출시 순서대로 정렬
- Ant
- 현대적인 빌드도구 중 가장 최초로 출시됨
- xml을 사용하여 빌드스크립트를 작성 (수직계층구조)
- 절차적으로 빌드스크립트 작성
- 스크립트를 직접 명시하여 유연성이 좋지만 번거롭다는 단점이 있다
- Maven
- Ant의 단점을 보완하여 출시된 빌드도구
- pom.xml을 사용하여 빌드설정 명시
- 의존성의 다운로드가 가능(네트워크상 라이브러리를 클릭 몇 번으로 다운 받을 수 있다.)
- 컨벤션이 있어 간편하다(Ant의 단점보완)
- but 컨벤션으로 인해 사용자 의도에 맞는 로직 개발이 어렵다는 단점이 있다
- Gradle
- Maven의 단점을 보완하여 출시된 빌드도구
- Groovy라는 언어를 통해 작성됨
- 유연성이 좋다
- 의존성 추가시 스크립트의 규모가 작음
반응형
'영상리뷰' 카테고리의 다른 글
[영상리뷰] 우아한테크_무민 : JVM Stack&Heap (0) | 2022.01.22 |
---|---|
[영상리뷰] 우아한테크_던 : JVM의 Garbage Collector (0) | 2022.01.22 |
[영상리뷰] 우아한테크_스티치 : 빌드배포 (0) | 2022.01.15 |
[영상리뷰] 우아한테크_제이 : 시간복잡도 (0) | 2022.01.11 |
[영상리뷰] 우아한테크_루피 : 도서관리시스템 (0) | 2022.01.10 |