how use gradle build
Acest tutorial prezintă modul de utilizare a Gradle pentru a crea un proiect și a scrie sarcini în Groovy și pentru a rula sarcini cu Gradle Wrapper utilizând atât comanda IDE cât și comanda:
Fiind dezvoltatori contemporani, trebuie să știm despre anumiți termeni precum Shift-Left, DevOps, Continuous Integration (CI), Continuous Delivery (CD) etc.
În acest tutorial, vom afla despre Groovy și Gradle, împreună cu utilizarea lor pentru a crea sarcini de construire Gradle și, respectiv, construi proiecte. Groovy este un limbaj cu mai multe fațete - cu sintaxa concisă, familiară și ușor de utilizat pentru platforma Java și poate fi folosit pentru a scrie sarcini de construire și automatizare.
Acest limbaj se leagă bine de Gradle, care este unul dintre instrumentele populare utilizate la integrarea fluxului de lucru al unui dezvoltator într-o conductă CI / CD.
Acest tutorial explică Gradle pentru dezvoltatorii Java. Include detalii despre modul în care funcționează; cum se folosește Gradle pentru a construi codul sursă scris în Java, pentru implementare pe orice platformă.
Oferă pluginuri pentru majoritatea IDE-urilor și facilitează livrarea mai rapidă a software-ului. Pentru a ne urmări de-a lungul călătoriei de învățare a conceptelor enunțate mai sus, va fi minunat dacă vă uitați la depozitul unui eșantion de proiect pe care le-am creat pe Github.
Ce veți învăța:
- Cerințe și cerințe de sistem
- Scrieți primul dvs. program în Groovy - Hello World
- Bazele limbajului groovy
- Ce este Gradle?
- Caracteristici și avantaje ale utilizării Gradle
- Construiți un proiect Gradle
- Automatizează Gradle Build folosind acțiunile Git
- Concluzie
- Lectură recomandată
Cerințe și cerințe de sistem
Această secțiune include pasul de instalare a unui IDE - IntelliJ IDEA și Java Development Kit (JDK). Detaliile despre conceptele de bază în limbajul Groovy pentru a ne ajuta să scriem prima noastră sarcină de compilare sunt explicate cu ajutorul unui fragment de cod.
Instalați IntelliJ IDEA
Instalați un IDE (mediu de dezvoltare integrat) pentru crearea proiectului Java. Pentru acest tutorial folosim IntelliJ IDEA (Community Edition). Vă rugăm să urmați linkurile respective pentru a descărca și instala pe Windows / Mac / Linux.
Ferestre: Click aici
Mac: Click aici
Linux: Click aici
Instalați și configurați JDK
Descărcați JDK . Trebuie să vă înscrieți pentru un cont RedHat pentru a finaliza pasul. Odată ce a fost descărcat, rulați configurarea pentru ao instala pe computerul Windows. Odată instalat, deschideți promptul de comandă și executați comenzile de mai jos pentru a verifica dacă funcționează sau nu.
Comenzile de mai jos pot fi folosite pentru a ști unde este instalat sau nu JDK.
D: softwaretestinghelp> unde java
D: softwaretestinghelp> unde javac
Acum permiteți-ne să configurăm JDK instalat cu IDE-ul nostru. Deschideți setările platformei în IntelliJ IDEA și adăugați JDK urmând pașii de mai jos. Rețineți că acest JDK este aplicabil tuturor proiectelor la care veți lucra folosind acest IDE.
Pasul 1: Adăugați JDK descărcat în SDK în setările platformei, așa cum se arată în imagine.
Pasul 2: Actualizați SDK-ul proiectului în setările proiectului așa cum se arată în imagini
ce este depozitul de obiecte în qtp
După aplicarea setărilor configurate, vă rugăm să construiți proiectul odată cu ajutorul pictogramei mici de ciocan verde din IDE.
Configurați un exemplu de proiect
Există două modalități de a începe cu proiectul. Putem descărca fișierul zip al proiectului din pagina proiectului Github și îl putem importa ca proiect Gradle în Intellij IDEA, sau Clonăm proiectul din depozitul Github.
Pașii pentru clonarea proiectului de la Github sunt prezentați mai jos:
Deschideți IDE făcând dublu clic pe pictograma de comandă rapidă de pe desktop. Vă rugăm să închideți orice proiect existent dacă este deja deschis. Vă rugăm să rețineți că pluginul Git este implicit inclus în IntelliJ IDEA. Astfel, vă rugăm să nu îl instalați.
Pasul 1: În ecranul de întâmpinare al IDE faceți clic pe Obțineți de la Control versiune .
Pasul 2: Furnizați Adresa URL a depozitului Github și faceți clic pe Clonare.
Pasul 3: Click pe da când este afișată solicitarea fișierului Checkout.
Pasul 4: Așteptați finalizarea procesului de fundal și verificați ieșirea.
Pasul 5: Faceți clic pe panoul de proiect pliat pentru a privi structura proiectului în explorator.
întrebări de interviuri cu server SQL pentru experți
Scrieți primul dvs. program în Groovy - Hello World
În proiect, deschideți fișierul de construire Gradle numit build.gradle utilizând exploratorul de fișiere al IDE-ului dvs. și scrieți codul de mai jos la sfârșitul fișierului.
task helloWorld { doLast { println('Hello, World!') } }
Acum executați prima sarcină făcând clic pe Executare în meniul contextual al pictogramei de redare a sarcinii și observați rezultatul println metoda incorporata a Groovy. Putem folosi „CTRL + SHIFT + F10” de asemenea. (Vă rugăm să consultați imaginea de mai jos)
Rezultatul ar trebui să arate ceva similar cu cel prezentat mai sus.
Bazele limbajului groovy
Acum că ați învățat cum să creați primul dvs. program în Groovy, putem accelera și învăța despre elementele de bază ale limbajului. Această secțiune va acoperi concepte precum nume de variabile, sintaxă, operatori, metode / funcții / închideri etc.
Vom acoperi, de asemenea, conceptele care sunt mai relevante din perspectiva proiectului, cum ar fi accesarea proprietăților unui proiect și importul închiderilor / funcțiilor scrise în altul build.gradle fişier.
Respectați fragmentul de cod și comentariile de mai jos pentru a afla despre diferite concepte ale limbii. Acest fragment de cod este destul de la îndemână pentru o prezentare rapidă și o revizuire a conceptelor 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++ } } }
În ambele bucle, observați că lista are un index bazat pe zero. Mai multe detalii sunt menționate la Macabru .
Acum, să aflăm despre Gradle și să vedem cum să rulăm o sarcină.
Ce este Gradle?
Este un sistem de automatizare a construcțiilor. Sprijină proiectele de construcție scrise în mai multe limbi. În acest tutorial, folosim Java. Această secțiune explică metoda de executare a comenzilor Gradle din linia de comandă. O vom folosi pentru construirea, testarea și implementarea eșantionului de proiect.
Dependențe Gradle
S-ar putea să știți deja cât de important este să instalați dependențe în orice proiect software open-source. Gradle poate căuta dependențe de depozite publice precum Maven, Jcenter și Google.
Menționați aceste depozite în build.gradle fișier așa cum se arată mai jos:
repositories { mavenCentral() jcenter() google() }
Acum menționați dependențele de timp de compilare așa cum se arată mai jos.
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' }
Dependențele menționate sunt descărcate automat și incluse în CLASSPATH a proiectului de către pluginul Gradle. Verificați dependențele descărcate în exploratorul de proiecte al IDE.
Verificați versiunea Gradle utilizând comanda dată mai jos.
Caracteristici și avantaje ale utilizării Gradle
Mai jos sunt enumerate câteva dintre caracteristicile care ajută la standardizarea ușoară și adoptarea Gradle ca parte a DevOps într-o organizație.
- Folosește un limbaj bazat pe DSL numit Groovy. Este mai ușor să scrieți sarcini de construire în Groovy decât în XML. Mai mult, XML-urile sunt greoaie și nu sunt ușor de citit. Cu toate acestea, Groovy este mai ușor de învățat și de citit.
- Sprijină construcțiile de creație pentru proiecte bazate atât pe arhitecturi monolitice, cât și pe cele de microservicii.
- Poate fi folosit pentru a crea mai multe artefacte, cum ar fi Documente, API-uri. borcane de implementare etc. și le publică ca parte a aceleiași versiuni.
- Are o construcție de limbaj destul de puternică pentru a ordona sarcinile interdependente ca parte a construcțiilor.
Există mult mai multe caracteristici care permit echipelor să își personalizeze versiunile în timp ce ambalează software-ul cu o calitate superioară. Sunt oferite mai multe detalii despre caracteristici Aici .
Acum, să mergem mai departe și să executăm o sarcină de construire Gradle.
Rulați o sarcină Gradle
Rulați comanda prezentată mai jos în directorul rădăcină al proiectului pentru a rula sarcina de construire numită task1.
D: softwaretestinghelp gitrepo>. Gradlew.bat task1
Verificați ieșirea așa cum se arată mai jos.
Construiți un proiect Gradle
În această secțiune, vom trece prin structura proiectului, vom înțelege diferitele sale componente și vom construi proiectul.
Structura proiectului eșantion
Proiectul eșantion în discuție are un src folder cu două directoare principale (foldere) și anume. Principal și test. Directorul principal are cod sursă Java legat de un exemplu de aplicație din linia de comandă numită HelloWorld.
Clasa HelloWorld are două metode, adică metoda principală, care imprimă primul argument din lista dată de argumente și o metodă method1, care imprimă primul argument concatenat cu primele 3 caractere ale celui de-al doilea argument.
Dosarul de testare are o clasă de testare JUnit care are teste pentru a testa metodele menționate mai sus în aplicația noastră. Vă rugăm să verificați codul sursă al acestor teste.
Proiectul eșantion are, de asemenea, un dosar de împachetare Gradle. Trebuie să utilizați versiunea de pachet Gradle menționată în timp ce executați sarcinile de construire.
Versiunea lui Gradle este foarte importantă și ori de câte ori dezvoltatorii doresc să împărtășească codul lor, este întotdeauna benefic să partajați un wrapper împreună cu fișierele proiectului. Economisește mult timp, deoarece wrapper descarcă automat versiunea declarată a Gradle.
Exemple de sarcini de construcție
Documentarea codului este considerată drept unul dintre cele mai importante atribute ale unui dezvoltator. Este o practică obișnuită să distribuiți documentația în html format. Gradle ajută la generare javadocs în html formatează proiecte. Putem genera javadocs folosind comanda de mai jos.
D: softwaretestinghelp gitrepo>. Gradlew.bat javadoc
te rog verifică javadoc în directorul de construcție din proiect și ar trebui să vedeți rezultatele similare cu cele afișate în imaginea de mai jos.
Vă rugăm să urmați javadoc ghid de stil dat la acest link în timpul redactării documentației Java.
Acum să schimbăm fișierul build.gradle pentru a genera și documentația pentru resursele de testare.
Actualizați fișierul build.gradle cu fragmentul prezentat mai jos
javadoc { classpath += sourceSets.test.compileClasspath source += sourceSets.test.allJava }
Rulați din nou comanda Gradle javadoc pentru a genera documentația pentru sursele principale, precum și pentru cele de testare.
Mai multe detalii despre sarcinile de construire Gradle pot fi văzute Aici .
Comanda pentru a afla mai multe sarcini Gradle este dată mai jos.
D:softwaretestinghelpgitrepo> .gradlew.bat tasks
Acum să construim proiectul.
Construiți proiectul Gradle
Urmați pașii menționați mai jos, pentru a construi exemplul de proiect din linia de comandă:
- Schimbați calea proiectului.
- Utilizați comanda de mai jos pentru a construi proiectul.
Cu toate acestea, puteți construi proiectul făcând clic pe pictograma ciocan mic din IDE.
D:softwaretestinghelpgitrepo> .gradlew.bat build
Ieșirea comenzii de construire va fi așa cum se arată mai jos.
Eșecurile în rezultatele executării compilării sunt intenționate în scopul acestui tutorial și pot fi neglijate.
Dacă doriți să vedeți rezultatele testelor care au fost executate ca parte a acestei compilări, puteți verifica folderul de rapoarte așa cum se arată în imaginea de mai jos.
Pentru a verifica rezultatele, puteți deschide fișierul index.html într-un browser.
Automatizează Gradle Build folosind acțiunile Git
În calitate de dezvoltatori, trebuie să ne configurăm fluxurile de lucru pentru a construi, testa și publica proiectele noastre, pentru a colabora cu echipa de operațiuni.
Mai mult, crearea unui mediu de unul singur poate fi o sarcină descurajantă și ar putea avea repercusiuni asupra productivității noastre. Odată cu apariția unei noi culturi a DevOps, trebuie să ne automatizăm fluxurile de lucru pentru a reduce provocările, care decurg din eșecurile de construire.
Între timp, proiectele software cu dezvoltatorii, care sunt distribuiți geografic, au nevoie de colaborare cu ajutorul software-ului SCM, cum ar fi Git.
Mulțumim Github Actions. Acum puteți vedea o filă suplimentară pe orice depozit Github pe care îl creați. Puteți crea fluxurile de lucru de dezvoltare și le puteți rula în orice eveniment Github, cum ar fi push, release, pull_request, etc. Acest lucru este revoluționar în ceea ce privește acordarea puterii CI / CD comunității dezvoltatorilor.
Deschideți configurațiile Git Actions la .github / workflows / gradle.yml fișier în proiect. Observați că dezvoltăm proiectul nostru pe Windows și în Git Actions îl testăm pe ubuntu_latest.
cum se deschid fișiere .jar pe Windows 10
Github Actions are, de asemenea, fluxuri de lucru bazate pe comunitate, pe care le putem folosi și crește viteza de livrare a proiectului dvs. către clienți. Pe baza stării construcției dvs., puteți decide dacă lansați proiectul sau nu. Am dat exemplul unei pre-lansări a depozitului proiectului eșantion.
Un exercițiu opțional
Mai jos sunt câțiva pași pe care trebuie să îi încercați.
- Creați un nou depozit în Github.
- Adăugați o referință a noii telecomenzi în proiectul gradle_sample.
- Utilizați comenzile pentru a publica modificările la noul depozit.
- Observați rezultatele pentru versiunea Gradle din Git Actions.
Concluzie
Gradle este utilizat de echipe din companii precum LinkedIn, Adobe, Netflix etc. și este un instrument excelent de stăpânit. Lucrul cu Gradle este mult mai ușor decât lucrul în alte instrumente de construcție, cum ar fi Maven și Ant.
În aceste zile este vorba de viteză și agilitate. Învățarea Gradle și Groovy vă poate ajuta în adoptarea principiilor DevOps mai ușor.
Pentru a rezuma, am abordat concepte despre crearea unui proiect Gradle, despre scrierea sarcinilor de compilare în Groovy și despre executarea sarcinilor cu învelișul Gradle în timpul dezvoltării folosind atât comanda IDE, cât și Gradle build.
De asemenea, am testat construcția pe o altă platformă țintă, cum ar fi ubuntu_latest. Îl putem folosi cu un statut de compilare, care poate ajuta la luarea unei decizii legate de lansarea unui proiect.
Dacă sunteți un inginer de automatizare care utilizează Selenium Webdriver, atunci nu omiteți să citiți următorul nostru tutorial despre configurarea și configurarea unui proiect Selenium cu Gradle.
Sper că acest tutorial v-ar fi îmbogățit cunoștințele despre Gradle Concepts !!
Lectură recomandată
- Gradle Vs Maven și pluginurile Maven
- Cum să creați un proiect Gradle cu seleniu
- Tutorial Spock: Testare cu Spock și Groovy
- Cum se scrie un script groovy de bază în SoapUI - Tutorialul SoapUi # 6
- Cum se utilizează proprietăți în SoapUI Groovy Script - Tutorial SoapUI # 7
- Aflați concepte avansate de scriptare SoapUI Groovy - Tutorial SoapUI # 9
- Cum să gestionați excepția în scripturile SoapUI Groovy - Tutorialul SoapUI # 11
- Utilizarea instrumentului de automatizare Maven Build și configurarea proiectului Maven pentru Selenium - Tutorial Selenium # 24