1. 인텔리제이 개발 환경 설정(build.gradle, GitHub 연동)

WOOK JONG KIM·2023년 2월 14일
0

스프링부트 & AWS

목록 보기
1/8
post-thumbnail

gradle 프로젝트를 spring boot 프로젝트로 변경

build.gradle
-> 이 프로젝트의 플러그인 의존성 관리를 위한 설정

특정 빌드 도구(Gradle)에서 제공하는 플러그인을 사용할 때 해당 플러그인이 의존하는 라이브러리 관리

// 이 프로젝트의 플러그인 의존성 관리를 위한 설정
buildscript {
    ext {
        springBootVersion = '2.1.9.RELEASE'
    }
    repositories {
        mavenCentral()
        jcenter()
    }
    dependencies {
        classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
    }
}

apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'

group 'com.jojoldu.book'
version '1.0.4-SNAPSHOT-'+new Date().format("yyyyMMddHHmmss")
sourceCompatibility = 1.8

repositories {
    mavenCentral()
    jcenter()
}

dependencies {
    implementation('org.springframework.boot:spring-boot-starter-web')
    implementation('org.projectlombok:lombok')
    implementation('org.springframework.boot:spring-boot-starter-data-jpa')
    implementation('org.springframework.boot:spring-boot-starter-mustache')
    implementation('com.h2database:h2')

    implementation('org.springframework.boot:spring-boot-starter-oauth2-client')
    implementation('org.springframework.session:spring-session-jdbc')

    implementation("org.mariadb.jdbc:mariadb-java-client")

    testImplementation('org.springframework.boot:spring-boot-starter-test')
    testImplementation("org.springframework.security:spring-security-test")
}

우선 ext라는 키워드는 build.gradle에서 사용하는 전역변수를 설정하겠다는 의미
-> springBootVersion 전역 변수를 생성하고 그 값을 2.1.9.RELEASE로 하겠다는 의미
-> 스프링 부트 그레이들 플러그인의 2.1.9.RELEASE를 의존성으로 받겠다!

apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'

apply 에서는 앞서 선언한 플러그인 의존성들을 적용할 것인지를 결정하는 코드
-> dependency-management 플러그인은 스프링 부트의 의존성들을 관리해주는 플러그인이라 꼭 추가하고, 보통 저 4개의 플러그인은 필수 플러그인

repositories {
    mavenCentral()
    jcenter()
}

dependencies {
    implementation('org.springframework.boot:spring-boot-starter-web')
    testImplementation('org.springframework.boot:spring-boot-starter-test')
}

gradle 5.0이상에서는 Compile 대신 implementation이나 api를 사용해야 함

repositories는 각종 의존성(라이브러리)들을 어떠한 원격 저장소에서 받을지 정함
-> 기본적으로는 mavenCentral을 많이 사용하지만, 최근에는 업로드 난이도 때문에 jcenter도 많이 사용

dependencies는 프로젝트 개발에 필요한 의존성들을 선언하는 곳
-> 특정 버전을 명시하지 않아야 위에 dependencies의 classpath에 작성한 버전을 따라감

코드 작성 후 새로고침을 할시 의존성이 잘 받아진 것을 볼 수 있음


인텔리제이에서 깃,깃허브 사용하기

command+shift+A를 통해 Action 검색창을 열어 share project on github 검색
-> via github를 통해 로그인 후 리파지토리 이름을 설정후 share로 동기화를 진행

위에서 .idea 디렉터리는 인텔리제이에서 프로젝트 실행 시 자동으로 생성되는 파일들이기 때문에 깃허브에 올리기에는 불필요
-> 다른 파일들만 체크 후, 커밋 메세지 작성하고 OK시 커밋과 푸시가 진행 됨

커밋하면서 대상에서 제외했던 .idea 폴더를 앞으로 모든 커밋 대상에서 제외하도록 처리하기
-> 깃에서 특정 파일 혹은 디렉토리를 관리 대상에서 제외할 때는 .gitignore 파일을 사용
-> 인텔리제이에서는 .gitignore 파일에 대한 기본적인 지원이 없지만 플러그인에서 제공
-> plugin 목록에서 .ignore을 검색 후 설치

설치 후 프로젝트 선택후 cmd+N을 통해 gitignore 파일 생성후 파일 작성

이렇게 ignore 처리된 것을 깃허브에도 반영
-> 커밋창은 command+K

메세지 작성 후 commit 버튼 클릭

깃 허브로 푸쉬 단축키(Command + Shift + K)

profile
Journey for Backend Developer

0개의 댓글

관련 채용 정보