CI\CD/Gradle
gradlew와 gradle.bat 을 사용해 gradle 설치하지 않고 사용하기
Gradle과 Gradle version 모든 프로그램들이 그렇듯 Gradle은 버전이 다르면 사용할 수 없다. 예를 들어 6.x.x 버전의 Gradle을 7.x.x를 사용해 사용할 수 없다. 만약 사용하려고 하면 error가 생기게 된다. 이에 대한 간단한 해결책은 매번 프로젝트를 받을 때마다 해당 프로젝트가 채택하는 Gradle의 버전을 다시 설치하는 것이다. 하지만 이는 매우 비효율적이다. 만약 10개의 버전이 있다면 프로젝트를 전환할 때마다 현재 머신의 Gradle의 버전을 바꿔줘야 하기 때문이다. 내장 그레이들(Gradle Wrapper) 을 사용한 버전 문제 해결 위와 같은 문제를 해결하기 위해 Gradle에서는 각 프로젝트마다 내장 Gradle을 무조건 넣어주게 만들었고, 프로젝트에서 gra..
Gradle Project 만들고 task 만들어 실행하기
Gradle 프로젝트 만들기 gradle 프로젝트 만들기 위해서는 gradle init 명령어를 사용해야 한다. $ gradle init Gradle 프로젝트 만들기 예제 우리는 이번 글에서 firstproject라는 폴더에 Gradle 프로젝트를 만들 것이다. 다음의 과정을 따라 만들도록 하자. 1. firstproject 폴더를 만든 후 해당 디렉토리로 이동한 후 gradle init을 하게 되면 총 세가지 질문이 나오게 된다. $ mkdir firstproject $ cd firstproject $ gradle init Starting a Gradle Daemon (subsequent builds will be faster) 2. 첫째 질문은 gradle project의 종류이다. 우리는 이번에 간..
Mac에서 Gradle 설치하기
Mac에서 Gradle 설치하기 Mac에서 Gradle 설치하는 방법은 homebrew를 이용하면 간단하다. 1. Homebrew 설치하기 Homebrew는 터미널에서 명령어 한 줄로 설치할 수 있다. /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" 지금 시점에서는 동작하는데 만약 동작하지 않는다면 다음 페이지를 참조하길 바란다. https://brew.sh/index_ko Homebrew The Missing Package Manager for macOS (or Linux). brew.sh 2. Homebrew 이용해 gradle을 설치한다. $ brew install gradle..
Gradle이란 무엇인가? 하는 일, 강점, 빌드 속도가 빠른 이유에 대해 알아보자.
Gradle은 무엇을 하는가? Gradle은 CI/CD를 위한 아래 Task들을 자동화 시켜주는 Build Tool이다. Compile Test Packaging Deploy & Run 안드로이드를 기준으로 Compile은 Kotlin 파일이나 Java파일을 바이트 코드로 변환해주는 작업이며, Test는 어플리케이션이 제대로 동작할지에 대한 Test를(유닛 테스트, UI 테스트 등) 지원한다. Packaging의 경우에는 코드를 패키징해 aab 파일이나 apk 파일로 만들어주는 것을 뜻하며, Deploy & Run은 코드를 어플리케이션으로 패키징해서 실제 기기에 넣어서 실행할 수 있도록 만들어주는 것을 뜻한다. 스프링을 기준으로는 Compile과 Test는 안드로이드와 같으며, Packaing은 스프링 ..
Gradle with Kotlin DSL
예제파일 : https://github.com/seyoungcho2/GradleKotlinDSL Gradle with Kotlin DSL Groovy로 빌드 파일을 작성하는 것은 불편하다. 다른 곳에서 선언된 변수에 대해 자동완성이 지원되지 않고 문서 찾기가 어렵다. 실행시점 전까지 오류가 검출되지 않는다. IDE에서 제공하는 리펙터링 기능을 사용할 수 없다. (Intellij 기준 Shift+F6 을 눌러서 리펙토링 불가) 코드 작성이 제약이 약해 빌드 스크립트가 자유 분방해진다. Groovy는 같은 코드를 여러 방식으로 쓰는 것을 허용한다. 대표적 예로 문자열을 쓸 때 ' 를 쓰는 것과 "를 쓰는 것이 모두 허용되는 점이다. 왜 Kotlin DSL로 이전해야 하는가? 코드 자동완성과 참조 오류코드 강..