how use gradle build
이 자습서에서는 Gradle을 사용하여 Groovy에서 프로젝트를 만들고 작업을 작성하고 IDE 및 빌드 명령을 모두 사용하여 Gradle Wrapper로 작업을 실행하는 방법을 다룹니다.
현대 개발자이기 때문에 Shift-Left, DevOps, CI (지속적 통합), CD (지속적 배포) 등과 같은 특정 용어에 대해 알아야합니다.
이 튜토리얼에서는 각각 Gradle 빌드 작업을 만들고 프로젝트를 빌드하는 데 사용하는 Groovy 및 Gradle에 대해 알아 봅니다. Groovy는 간결하고 친숙하며 Java 플랫폼 용 구문을 사용하기 쉬운 다각적 인 언어이며 빌드 및 자동화 작업을 작성하는 데 사용할 수 있습니다.
이 언어는 CI / CD 파이프 라인에서 개발자의 워크 플로를 통합하는 데 사용되는 인기있는 도구 중 하나 인 Gradle과 잘 어울립니다.
이 가이드에서는 자바 개발자를위한 Gradle에 대해 설명합니다. 작동 방식에 대한 세부 정보가 포함되어 있습니다. Gradle을 사용하여 모든 플랫폼에 배포하기 위해 Java로 작성된 소스 코드를 빌드하는 방법.
대부분의 IDE에 대한 플러그인을 제공하고 소프트웨어를 더 빠르게 제공 할 수 있습니다. 위에서 언급 한 개념을 배우는 여정을 따라 가기 위해 저장소를 살펴보면 좋을 것입니다. 샘플 프로젝트 Github에서 만들었습니다.
학습 내용 :
- 시스템 요구 사항 및 전제 조건
- Groovy에서 첫 번째 프로그램 작성 – Hello World
- Groovy 언어의 기초
- Gradle이란 무엇입니까?
- Gradle 사용의 특징 및 장점
- Gradle 프로젝트 빌드
- Git 작업을 사용하여 Gradle 빌드 자동화
- 결론
- 추천 도서
시스템 요구 사항 및 전제 조건
이 섹션에는 IDE – IntelliJ IDEA 및 JDK (Java Development Kit) 설치 단계가 포함되어 있습니다. Groovy 언어의 기본 개념에 대한 자세한 내용은 코드 조각을 사용하여 첫 번째 빌드 작업을 빠르게 작성할 수 있도록 설명합니다.
IntelliJ IDEA 설치
Java 프로젝트를 만들기위한 IDE (통합 개발 환경)를 설치합니다. 이 자습서에서는 IntelliJ IDEA (커뮤니티 에디션)를 사용합니다. 해당 링크를 따라 Windows / Mac / Linux에 다운로드하여 설치하십시오.
Windows : 여기를 클릭하세요
맥: 여기를 클릭하세요
Linux : 여기를 클릭하세요
JDK 설치 및 설정
JDK 다운로드 . 단계를 완료하려면 RedHat 계정에 가입해야합니다. 다운로드가 완료되면 설정을 실행하여 Windows PC에 설치하십시오. 설치가 완료되면 명령 프롬프트를 열고 아래 제공된 명령을 실행하여 작동 여부를 확인하십시오.
아래 명령을 사용하여 JDK가 설치된 위치를 알 수 있습니다.
D : softwaretestinghelp> 여기서 java
D : softwaretestinghelp> 여기서 javac
이제 IDE로 설치된 JDK를 구성 해 보겠습니다. IntelliJ IDEA에서 플랫폼 설정을 열고 아래 표시된 단계에 따라 JDK를 추가합니다. 이 JDK는이 IDE를 사용하여 작업 할 모든 프로젝트에 적용 할 수 있습니다.
1 단계: 이미지와 같이 플랫폼 설정에서 다운로드 한 JDK를 SDK에 추가합니다.
2 단계: 프로젝트 SDK 업데이트 이미지와 같이 프로젝트 설정에서
구성된 설정을 적용한 후 IDE의 작은 녹색 망치 아이콘을 사용하여 프로젝트를 한 번 빌드하십시오.
예제 프로젝트 설정
프로젝트를 시작하는 두 가지 방법이 있습니다. Github 프로젝트 페이지에서 프로젝트 zip 파일을 다운로드하여 Intellij IDEA에서 Gradle 프로젝트로 가져 오거나 Github 저장소에서 프로젝트를 복제 할 수 있습니다.
Github에서 프로젝트를 복제하는 단계는 다음과 같습니다.
바탕 화면에서 바로 가기 아이콘을 두 번 클릭하여 IDE를 엽니 다. 이미 열려있는 경우 기존 프로젝트를 닫으십시오. Git 플러그인은 기본적으로 IntelliJ IDEA와 함께 제공됩니다. 따라서 설치하지 마십시오.
1 단계: IDE의 시작 화면에서 버전 관리에서 가져 오기 .
2 단계: 제공 Github 저장소 URL 복제를 클릭합니다.
3 단계 : 클릭 예 체크 아웃 파일 프롬프트가 표시 될 때.
4 단계 : 백그라운드 프로세스가 완료 될 때까지 기다렸다가 출력을 확인하십시오.
5 단계 : 접힌 프로젝트 창을 클릭하여 탐색기에서 프로젝트 구조를 확인합니다.
Groovy에서 첫 번째 프로그램 작성 – Hello World
프로젝트에서 Gradle 빌드 파일을 엽니 다. build.gradle IDE의 파일 탐색기를 사용하고 파일 끝에 아래 제공된 코드를 작성하십시오.
task helloWorld { doLast { println('Hello, World!') } }
이제 작업 재생 아이콘의 컨텍스트 메뉴에서 실행을 클릭하여 첫 번째 작업을 실행하고 println Groovy의 내장 방법. 우리는 사용할 수 있습니다 'CTRL + SHIFT + F10' 게다가. (아래 이미지를 참조하세요)
출력은 위에 표시된 것과 유사해야합니다.
Groovy 언어의 기초
Groovy에서 첫 번째 프로그램을 만드는 방법을 배웠으므로 이제 언어의 기본을 가속화하고 배울 수 있습니다. 이 섹션에서는 변수 이름, 구문, 연산자, 메서드 / 함수 / 클로저 등과 같은 개념을 다룹니다.
또한 프로젝트의 속성에 액세스하고 다른 항목에서 작성된 클로저 / 함수를 가져 오는 것과 같이 프로젝트 관점에서 더 관련성이 높은 개념을 다룰 것입니다. build.gradle 파일.
언어의 다양한 개념에 대해 알아 보려면 아래 제공된 코드 스 니펫과 주석을 살펴보십시오. 이 코드 조각은 Groovy의 개념에 대한 빠른 연습과 수정에 매우 유용합니다.
// Primer on Groovy def var1 = 'var1' // A string variable declared and assigned outside a closure/function def var2 = 4 // An integer // Both of the above given variables are of type Object task task1 { doLast { println('Hello, World!') // A single line comment /* A Multi line comment Print a stored variable. Strings can be concatenated. Parentheses are not mandatory */ println var1 + ' is my variable ' println var1 + 2 // adding a digit to a string - No string conversion required. // operators for strings and numbers println(var2 + 3) def var3 = var2 + 2 // type of var3 is integer and var2 and var1 are Objects println(var3 * var2) // multiplication print(var3 / var2 + '
') // division prints float and observe the concatenation of new line '
' def mylist = (1, 2, 3) // creating a list // for loop on list items for (def i=0; i <= mylist.size() -1 ; i++){ // loop using for println(mylist(i)) } // While loop on list items def i=0 while (i<=mylist.size() - 1) { println(mylist(i)) i++ } } }
두 루프 모두에서 목록에 0부터 시작하는 인덱스가 있습니다. 자세한 내용은 그루비 .
이제 Gradle에 대해 배우고 작업을 실행하는 방법을 살펴 보겠습니다.
Gradle이란 무엇입니까?
빌드 자동화 시스템입니다. 여러 언어로 작성된 건물 프로젝트를 지원합니다. 이 튜토리얼에서는 Java를 사용합니다. 이 섹션에서는 명령 줄에서 Gradle 명령을 실행하는 방법을 설명합니다. 샘플 프로젝트를 빌드, 테스트 및 배포하는 데 사용할 것입니다.
Gradle 종속성
오픈 소스 소프트웨어 프로젝트에 종속성을 설치하는 것이 얼마나 중요한지 이미 알고있을 것입니다. Gradle은 Maven, Jcenter 및 Google과 같은 공개 저장소에 대한 종속성을 검색 할 수 있습니다.
버블 정렬 알고리즘 C ++
다음에서 이러한 저장소를 언급하십시오. build.gradle 아래와 같이 파일 :
repositories { mavenCentral() jcenter() google() }
이제 아래와 같이 컴파일 시간 종속성을 언급하십시오.
dependencies { testCompile group: 'junit', name: 'junit', version: '4.12' // https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-java compile group: 'org.seleniumhq.selenium', name: 'selenium-java', version: '3.141.59' }
언급 된 종속성은 Gradle 플러그인에 의해 프로젝트의 CLASSPATH에 자동으로 다운로드되고 포함됩니다. IDE의 프로젝트 탐색기에서 다운로드 한 종속성을 확인하십시오.
아래 제공된 명령을 사용하여 Gradle 버전을 확인하십시오.
Gradle 사용의 특징 및 장점
다음은 조직에서 DevOps의 일부로 Gradle을 쉽게 표준화하고 채택하는 데 도움이되는 몇 가지 기능입니다.
- Groovy라는 DSL 기반 언어를 사용합니다. XML보다 Groovy에서 빌드 작업을 작성하는 것이 더 쉽습니다. 게다가 XML은 번거롭고 읽기 쉽지 않습니다. 그러나 Groovy는 배우고 읽기가 더 쉽습니다.
- 모 놀리 식 및 마이크로 서비스 아키텍처를 기반으로하는 프로젝트의 생성 빌드를 지원합니다.
- 문서, API와 같은 여러 아티팩트를 생성하는 데 사용할 수 있습니다. 구현 jar 등을 포함하고 동일한 빌드의 일부로 게시합니다.
- 빌드의 일부로 상호 의존적 인 작업을 주문하는 매우 강력한 언어 구조를 가지고 있습니다.
팀이 더 높은 품질로 소프트웨어를 패키징하면서 빌드를 사용자 정의 할 수있는 더 많은 기능이 있습니다. 기능에 대한 자세한 내용이 제공됩니다. 여기 .
이제 계속해서 Gradle 빌드 작업을 실행하겠습니다.
Gradle 작업 실행
프로젝트의 루트 디렉터리 아래에 표시된 명령을 실행하여 task1이라는 빌드 작업을 실행합니다.
D : softwaretestinghelp gitrepo>. gradlew.bat task1
아래와 같이 출력을 확인하십시오.
Gradle 프로젝트 빌드
이 섹션에서는 프로젝트 구조를 살펴보고 다양한 구성 요소를 이해하고 프로젝트를 빌드합니다.
샘플 프로젝트의 구조
논의중인 샘플 프로젝트에는 src 두 개의 기본 디렉터리 (폴더)가있는 폴더 즉. 메인 및 테스트. 기본 디렉토리에는 HelloWorld라는 샘플 명령 행 애플리케이션과 관련된 Java 소스 코드가 있습니다.
HelloWorld 클래스에는 두 가지 메서드가 있습니다. 즉, 주어진 인수 목록에서 첫 번째 인수를 인쇄하는 main 메서드와 두 번째 인수의 처음 3 개 문자와 연결된 첫 번째 인수를 인쇄하는 method1 메서드입니다.
테스트 폴더에는 애플리케이션에서 위에서 언급 한 메소드를 테스트하는 테스트가있는 JUnit 테스트 클래스가 있습니다. 이 테스트의 소스 코드를 확인하십시오.
샘플 프로젝트에는 Gradle 래퍼 폴더도 있습니다. 빌드 작업을 실행하는 동안 언급 된 Gradle 래퍼 버전을 사용해야합니다.
Gradle 버전은 매우 중요하며 개발자가 코드를 공유하고 싶을 때마다 프로젝트 파일과 함께 래퍼를 공유하는 것이 항상 유익합니다. 래퍼가 선언 된 Gradle 버전을 자동으로 다운로드하므로 많은 시간이 절약됩니다.
빌드 작업의 예
코드 문서화는 개발자의 가장 중요한 속성 중 하나로 간주됩니다. 문서를 공유하는 것은 일반적인 관행입니다. HTML 체재. Gradle은 javadocs 에 HTML 형식 프로젝트. 아래 명령을 사용하여 javadocs를 생성 할 수 있습니다.
D : softwaretestinghelp gitrepo>. gradlew.bat javadoc
확인하십시오 javadoc 프로젝트의 빌드 디렉토리 아래에 있으며 아래 이미지에 표시된 것과 유사한 결과가 표시되어야합니다.
따르십시오 javadoc 이 링크에서 Java 문서를 작성하는 동안 제공되는 스타일 가이드.
이제 build.gradle 파일을 변경하여 테스트 리소스에 대한 문서도 생성하겠습니다.
아래 표시된 스 니펫으로 build.gradle 파일을 업데이트하십시오.
javadoc { classpath += sourceSets.test.compileClasspath source += sourceSets.test.allJava }
다시 Gradle javadoc 명령을 실행하여 기본 및 테스트 소스에 대한 문서를 생성합니다.
Gradle 빌드 작업에 대한 자세한 내용을 볼 수 있습니다. 여기 .
더 많은 Gradle 작업을 아는 명령이 아래에 나와 있습니다.
D:softwaretestinghelpgitrepo> .gradlew.bat tasks
이제 프로젝트를 빌드 해 보겠습니다.
Gradle 프로젝트 빌드
아래에 언급 된 단계에 따라 명령 줄에서 샘플 프로젝트를 빌드합니다.
- 프로젝트 경로를 변경하십시오.
- 아래 명령을 사용하여 프로젝트를 빌드하십시오.
그러나 IDE에서 작은 망치 아이콘을 클릭하여 프로젝트를 빌드 할 수도 있습니다.
D:softwaretestinghelpgitrepo> .gradlew.bat build
빌드 명령의 출력은 다음과 같습니다.
빌드 실행 결과의 실패는이 튜토리얼의 목적을위한 것이며 무시할 수 있습니다.
이 빌드의 일부로 실행 된 테스트 결과를 보려면 아래 이미지와 같이 보고서 폴더를 확인할 수 있습니다.
결과를 확인하기 위해 브라우저에서 index.html 파일을 열 수 있습니다.
Git 작업을 사용하여 Gradle 빌드 자동화
개발자로서 우리는 운영 팀과 협력하기 위해 프로젝트를 빌드, 테스트 및 게시하는 워크 플로를 설정해야합니다.
더욱이, 스스로 환경을 설정하는 것은 어려운 작업이 될 수 있으며 생산성에 영향을 미칠 수 있습니다. 새로운 DevOps 문화의 도래와 함께 우리는 빌드 실패로 인해 발생하는 문제를 줄이기 위해 워크 플로를 자동화해야합니다.
한편, 지리적으로 분산 된 개발자와의 소프트웨어 프로젝트는 Git과 같은 SCM 소프트웨어의 도움을 받아 협업이 필요합니다.
Github Actions 덕분입니다. 이제 생성 한 Github 저장소에서 추가 탭을 볼 수 있습니다. 개발 워크 플로를 생성하고 push, release, pull_request 등과 같은 Github 이벤트에서 실행할 수 있습니다. 이것은 개발자 커뮤니티에 CI / CD의 힘을 제공한다는 점에서 혁신적입니다.
Git 작업 구성을 엽니 다. .github / 워크 플로 /gradle.yml 프로젝트의 파일. Windows에서 프로젝트를 개발하고 있으며, Git Actions에서 ubuntu_latest에서 테스트하고 있습니다.
Github Actions에는 또한 우리가 활용하고 고객에게 프로젝트를 제공하는 속도를 높일 수있는 커뮤니티 기반 워크 플로가 있습니다. 빌드 상태에 따라 프로젝트를 릴리스할지 여부를 결정할 수 있습니다. 샘플 프로젝트 저장소의 시험판 예제를 제공했습니다.
선택적 운동
아래에 시도해 볼 수있는 몇 가지 단계가 있습니다.
- Github에서 새 저장소를 만듭니다.
- gradle_sample 프로젝트에 새 리모컨의 참조를 추가하십시오.
- 명령을 사용하여 새 저장소에 변경 사항을 게시합니다.
- Git 작업에서 Gradle 빌드의 결과를 관찰합니다.
결론
Gradle은 LinkedIn, Adobe, Netflix 등과 같은 회사의 팀에서 사용하고 있으며 마스터하기 좋은 도구입니다. Gradle로 작업하는 것은 Maven 및 Ant와 같은 다른 빌드 도구에서 작업하는 것보다 훨씬 쉽습니다.
요즘은 속도와 민첩성이 중요합니다. Gradle 및 Groovy를 배우면 DevOps 원칙을보다 쉽게 채택 할 수 있습니다.
요약하면, Gradle 프로젝트 생성, Groovy에서 빌드 작업 작성, IDE 및 Gradle 빌드 명령을 사용하여 개발 중 Gradle 래퍼로 작업 실행에 대한 개념을 다뤘습니다.
또한 ubuntu_latest와 같은 다른 대상 플랫폼에서 빌드를 테스트했습니다. 프로젝트 릴리스와 관련된 결정을 내리는 데 도움이 될 수있는 빌드 상태와 함께 사용할 수 있습니다.
Selenium Webdriver를 사용하는 자동화 엔지니어라면 Gradle을 사용하여 Selenium 프로젝트를 구성하고 설정하는 방법에 대한 다음 가이드를 읽어보세요.
이 튜토리얼이 Gradle 개념에 대한 지식을 풍부하게 해주기를 바랍니다 !!
추천 도서
- Gradle 대 Maven 및 Maven 플러그인
- Selenium으로 Gradle 프로젝트를 만드는 방법
- Spock 자습서 : Spock 및 Groovy로 테스트
- SoapUI에서 기본 Groovy 스크립트를 작성하는 방법-SoapUi Tutorial # 6
- SoapUI Groovy 스크립트에서 속성을 사용하는 방법-SoapUI Tutorial # 7
- 고급 SoapUI Groovy 스크립팅 개념 알아보기-SoapUI 자습서 # 9
- SoapUI Groovy 스크립트에서 예외를 처리하는 방법 – SoapUI Tutorial # 11
- Selenium 용 Maven 빌드 자동화 도구 및 Maven 프로젝트 설정 사용-Selenium Tutorial # 24