DevOps BootCamp/서버

빌드와 언어별 빌드 도구

cloudmaster 2023. 3. 24. 17:29

빌드

 : 프로그램의 소스 코드를 독립적인 아티팩트(artifact)로 변환하는 과정

 : 아티팩트 그 자체로도 실행이 가능하며, 대체로 런타임(소프트웨어 실행 환경)이 필요한 경우가  많음

 

프레임워크

 : 소프트웨어 개발을 쉽게 만들어주기 위해 필요한 도구, 규약의 집합체

 

백엔드 웹 애플리케이션 개발용 프레임워크

  • Spring (Java, Kotlin)
  • Django (Python)
  • Express (JavaScript)

 

프론트엔드 웹 애플리케이션 개발용 프레임워크

  • React 및 관련 라이브러리 (JavaScript)
  • Vue.js, Svelte (JavaScript)

 

모바일 및 데스크탑 애플리케이션 개발용 프레임워크

  • Flutter (Android, iOS 등)
  • .NET Framework (Windows)
  • Apple 운영체제 기본 Native 프레임워크 Cocoa (macOS), Cocoa Touch (iOS)
  • 안드로이드 기본 Native 프레임워크 (Android)

 

대표적인 빌드 도구

  React 프레임워크를 사용하는 경우 create-react-app 또는 next.js 와 같은 프레임워크를 사용합니다

  1. node.js 개발 환경 준비
  2. 프로젝트 폴더로 이동 
    • package.json 파일이 있는지 확인합니다
  3. 의존성 (dependency) 설치
    • npm install 명령 입력
  4. 빌드
    • npm run build 명령 입력
  5. 빌드 결과물 확인
    • build 폴더 확인
    • React는 프론트엔드 웹 애플리케이션이므로 결과물로는 HTML, CSS, JS 파일을 포함합니다.
    • 이후 이 파일들을 nginx 등에서 정적 호스팅할 수 있습니다.

※  의존성 설치 후 빌드하지 않고, 바로 애플리케이션을 실행 > npm run start 등의 명령어를 사용

※  애플리케이션에 단위 테스트가 제공된다면, 애플리케이션의 테스트 >  npm run test 명령어를 사용

 

Java/Kotlin 기반의 Spring Boot 생태계(Gradle)

 : Java/Kotlin 애플리케이션을 빌드하면 JVM(자바 런타임) 위에서 실행되는 war 파일이 아티팩트로 생성

 : 대표적인 빌드 도구가 두가지(maven, Gradle)가 있음

  1. 자바 개발 환경(JDK, OpenJDK가 대표적) 준비
  2. gradle 설치
  3. 프로젝트 폴더로 이동
  4. 빌드
    • gradlew build 명령 입력

 빌드 후에 실행을 위해서 gradlew bootRun 명령을 통해 애플리케이션의 실행

 gradle tasks를 이용해 gradle에서 사용할 수 있는 다양한 태스크를 확인

 

★ 빌드가 필요없는 경우

 node.js 앱이나 Python과 같이 소스 코드 그대로 런타임을 실행할 수 있는 경우, 즉 다른 변환 작업이 필요없는 경우에는 빌드 과정이 생략

 

 

'DevOps BootCamp > 서버' 카테고리의 다른 글

WAS 개발  (0) 2023.03.28
CORS 개념  (0) 2023.03.27
nginx Web Server, 호스팅  (0) 2023.03.24
정적 웹사이트 vs 동적 웹사이트  (0) 2023.03.24
웹 서버  (0) 2023.03.24