평소에 노션에 필기한 내용들은 #TodayILearned 해시태그를 붙여 여기 벨로그에 공유하려고 합니다...! 구글이라는 우주에 우주쓰레기마냥 흩어져 있는 개념들을 처리하는 용도로 쓰세요 ゝ。∂)
하이라이트
로 표시했으니참고해 주세요!
또 노트정리 포스팅은 우주쓰레기가 다 정리되는 그 날까지 꾸준히 업로드할 예정이니 많은 관심 부탁드려용
⭐ 개발자가 수정한 코드가 테스트를 거쳐 서버에 반영을 하는 것을 배포라고 하며, 배포하기 위한 과정을 빌드라고 한다.
자바 파일을 빌드 한다는 것은 소스코드를 컴파일하여 .class
로 변환하고, resource를 .class에서 참조할 수 있는 적절한 위치로 옮기고 META-INF와 MANIFEST.MF 들을 하나로 압축하는 과정을 의미한다. 컴파일은 빌드의 부분집합인 셈이다. 또한, 빌드 과정을 도와주는 도구를 Build Tool이라고 한다. 즉, 컴파일 된 코드를 실제 실행할 수 있는 상태로 만드는 일을 Build라고 한다.
빌드를 하고 생성된 jar 또는 war 파일을 WAS에 올리는 것이 배포다. 다른 말로, git에 올려두고 테스트 코드를 작성하고 수행 및 검증하기까지 과정이라고 할 수 있다.
빌드 툴이 제공하는 기능으로는 전처리, 컴파일, 패키징, 테스팅, 배포가 있다.
⭐ 컴파일은 소스코드를 컴퓨터가 이해할 수 있는 기계어로 변환하는 작업을 말한다.
💡 두 줄 요약
Build = Complie + 그 외 작업 Run = Build + 실행 = (Complie + 그외작업) + 실행
.
├── build.gradle
├── .gradle
├── gradle
│ └── wrapper
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── gradlew
├── gradlew.bat
├── settings.gradle
.gradle
디렉토리build.gradle
에서 사용자가 직접 만들 수도 있다) 파일이 생성된다.gradle tasks
명령어를 통해 확인 가능(build.gradle이 있는 디렉토리에서 실행해야 함)gradle
디렉토리gradlew
, gradlew.bat
build.gradle
settings.gradle
App.java
로 설정된다..
├── .gradle
├── gradle
│ └── wrapper
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── gradlew
├── gradlew.bat
├── settings.gradle
└── app
├── build.gradle
└── src
├── main
│ └── resources
│ └── java
│ └── App.java
└── test
└── resources
└── java
└── AppTest.java
gradle tasks
gradle build
: 프로젝트를 빌드apply plugin: 'java'
가 추가된 경우 .jar파일로 패키징까지 된다. (build 명령어로 패키징도 할 수 있음)app > build
폴더 안에 생성 되며, .jar파일은 build > libs
에 패키징된다.gradle run
: 프로젝트 실행gradle bootRun
을 통해 구동할 수 있다.gradle jar
: 프로젝트 패키징build > libs
에 생성 된다.gradle clean
: 프로젝트 클린, build 폴더를 제거하여, 빌드 이전 상태로 되돌린다.질문과 피드백은 언제나 환영입니다. 부족하거나 틀린 부분은 편하게 말씀해주시면 감사하겠습니다!