how use gradle build
Denne opplæringen dekker hvordan du bruker Gradle til å lage et prosjekt og skrive oppgaver i Groovy og kjøre oppgaver med Gradle Wrapper ved hjelp av både IDE og Build-kommandoen:
Å være moderne utviklere, trenger vi å vite om visse begreper som Shift-Left, DevOps, Continuous Integration (CI), Continuous Delivery (CD), etc.
I denne opplæringen vil vi lære om Groovy og Gradle sammen med deres bruk for å lage henholdsvis Gradle byggeoppgaver og bygge prosjekter. Groovy er et mangesidig språk - med kortfattet, kjent og enkel å bruke syntaksen for Java-plattformen, og den kan brukes til å skrive bygge- og automatiseringsoppgaver.
Dette språket limes godt sammen med Gradle, som er et av de populære verktøyene som brukes til å integrere en utviklers arbeidsflyt i en CI / CD-rørledning.
Denne veiledningen forklarer Gradle for Java-utviklere. Den inneholder detaljer om hvordan det fungerer; hvordan du bruker Gradle til å bygge kildekode skrevet i Java, for distribusjon på hvilken som helst plattform.
Det gir plugins for de fleste av IDE-ene og gjør det lettere å levere programvare raskere. For å følge oss på reisen for å lære de ovennevnte konseptene, vil det være flott hvis du ser på depotet til a prøveprosjekt som vi har skapt på Github.
Hva du vil lære:
- Systemkrav og forutsetninger
- Skriv ditt første program i Groovy - Hello World
- Grunnleggende om groovy språk
- Hva er Gradle?
- Funksjoner og fordeler med å bruke Gradle
- Bygg et gradeprosjekt
- Automatiser Gradle Build ved hjelp av Git Actions
- Konklusjon
- Anbefalt lesing
Systemkrav og forutsetninger
Denne delen inkluderer trinnet med å installere et IDE - IntelliJ IDEA og Java Development Kit (JDK). Detaljene om de grunnleggende konseptene i Groovy-språket for å få oss til å komme i gang med å skrive vår første byggeoppgave blir forklart ved hjelp av et kodebit.
Installer IntelliJ IDEA
Installer et IDE (Integrated Development Environment) for å lage Java-prosjektet. Vi bruker IntelliJ IDEA (Community Edition) for denne opplæringen. Følg respektive lenker for å laste ned og installere den på Windows / Mac / Linux.
Windows: Klikk her
Mac: Klikk her
Linux: Klikk her
Installer og installer JDK
Last ned JDK . Man må registrere seg for en RedHat-konto for å fullføre trinnet. Når den er lastet ned, kjører du installasjonen for å installere den på din Windows-PC. Når den er installert, åpner du ledeteksten og kjører kommandoene nedenfor for å sjekke om den fungerer eller ikke.
Kommandoene nedenfor kan brukes til å vite hvor JDK er installert eller ikke.
D: softwaretestinghelp> hvor java
D: softwaretestinghelp> hvor javac
La oss nå konfigurere den installerte JDK med IDE. Åpne plattforminnstillingene i IntelliJ IDEA og legg til JDK ved å følge trinnene vist nedenfor. Husk at denne JDK gjelder for alle prosjektene du vil jobbe med å bruke denne IDE.
Trinn 1: Legg til den nedlastede JDK til SDK under plattforminnstillinger som vist på bildet.
Steg 2: Oppdater Project SDK i prosjektinnstillingene som vist på bildene
beste stemmeveksler-app for pc
Når du har brukt de konfigurerte innstillingene, kan du bygge prosjektet en gang ved hjelp av det lille grønne hammerikonet i IDE.
Sett opp et eksempel på prosjekt
Det er to måter å starte med prosjektet på. Vi kan enten laste ned prosjektets zip-fil fra Github-prosjektsiden og importere den som et Gradle-prosjekt i Intellij IDEA, eller klone prosjektet fra Github-depotet.
Trinn for å klone prosjektet fra Github er gitt nedenfor:
Åpne IDE ved å dobbeltklikke på snarveisikonet på skrivebordet. Lukk eksisterende prosjekt hvis det allerede er åpnet. Husk at Git-plugin er som standard utstyrt med IntelliJ IDEA. Derfor må du ikke installere den.
Trinn 1: På velkomstskjermen til IDE klikker du på Få fra versjonskontroll .
Steg 2: Gi URL til Github-depot og klikk på Clone.
Trinn 3: Klikk på Ja når Checkout-filmeldingen vises.
Trinn 4: Vent til bakgrunnsprosessen er ferdig, og sjekk utdataene.
Trinn 5: Klikk på det brettede prosjektruten for å se på prosjektstrukturen i utforskeren.
sql server intervju spørsmål for erfarne
Skriv ditt første program i Groovy - Hello World
I prosjektet, åpne Gradle build-filen som heter build.gradle ved hjelp av filutforskeren til IDE og skriv koden nedenfor på slutten av filen.
task helloWorld { doLast { println('Hello, World!') } }
Kjør nå den første oppgaven ved å klikke Kjør på hurtigmenyen til spilloppgaveikonet og følg utdataene fra utskrift innebygd metode for Groovy. Vi kan bruke “CTRL + SKIFT + F10” også. (Se bildet nedenfor)
Utgangen skal se ut som den som er vist ovenfor.
Grunnleggende om groovy språk
Nå som du har lært hvordan du lager ditt første program i Groovy, kan vi akselerere og lære om det grunnleggende i språket. Denne delen vil dekke begreper som variabelnavn, syntaks, operatorer, metoder / funksjoner / Closures, etc.
Vi vil også dekke konseptene som er mer relevante fra prosjektperspektivet, som å få tilgang til egenskapene til et prosjekt og importere nedleggelser / funksjoner skrevet i en annen build.gradle fil.
Følg nedenstående kodebit og kommentarer for å lære om ulike begreper i språket. Denne kodebiten er ganske praktisk for en rask gjennomgang og en revisjon av begrepene 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++ } } }
I begge sløyfene, legg merke til at listen har en nullbasert indeks. Ytterligere detaljer er nevnt på Groovy .
La oss nå lære om Gradle og se hvordan du kjører en oppgave.
Hva er Gradle?
Det er et byggeautomatiseringssystem. Den støtter byggeprosjekter skrevet på flere språk. I denne opplæringen bruker vi Java. Denne delen forklarer metoden for å kjøre Gradle-kommandoer fra kommandolinjen. Vi skal bruke den til å bygge, teste og distribuere vårt prøveprosjekt.
Gradle Avhengigheter
Du vet kanskje allerede hvor viktig det er å installere avhengigheter i ethvert program med åpen kildekode. Gradle kan søke etter avhengigheter av offentlige arkiver som Maven, Jcenter og Google.
Nevn disse depotene i build.gradle filen som vist nedenfor:
repositories { mavenCentral() jcenter() google() }
Nevn nå kompileringstidsavhengighet som vist nedenfor.
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' }
De nevnte avhengighetene lastes ned automatisk og inkluderes i prosjektets CLASSPATH av Gradle-plugin. Sjekk de nedlastede avhengighetene i IDE-prosjektutforskeren.
Sjekk Gradle-versjonen ved å bruke kommandoen nedenfor.
Funksjoner og fordeler med å bruke Gradle
Nedenfor er noen av funksjonene som hjelper med enkel standardisering og adopsjon av Gradle som en del av DevOps i en organisasjon.
- Den bruker et DSL-basert språk kalt Groovy. Det er lettere å skrive byggeoppgaver i Groovy enn i XML. XML er dessuten tungvint og ikke lett å lese. Imidlertid er Groovy lettere å lære og lese.
- Den støtter opprettelsesbygg for prosjekter basert på både monolitiske og mikrotjenestearkitekturer.
- Den kan brukes til å lage flere gjenstander, for eksempel Dokumenter, API-er. implementeringskrukker osv. og publiser dem som en del av samme bygg.
- Den har ganske kraftig språkkonstruksjon for å bestille de gjensidig avhengige oppgavene som en del av byggene.
Det er mange flere funksjoner som gjør at lagene kan tilpasse byggene sine mens de pakker programvaren med høyere kvalitet. Mer informasjon om funksjonene er gitt her .
La oss nå gå videre og kjøre en Gradle-oppgave.
Kjør en gradert oppgave
Kjør kommandoen vist nedenfor under prosjektets rotkatalog for å kjøre byggeoppgaven kalt task1.
D: softwaretestinghelp gitrepo>. Gradlew.bat oppgave1
Kontroller utdataene som vist nedenfor.
Bygg et gradeprosjekt
I denne delen vil vi gå gjennom prosjektstrukturen, forstå dens forskjellige komponenter og bygge prosjektet.
Strukturen på prøveprosjektet
Eksempelprosjektet som diskuteres har en src mappe med to hovedkataloger (mapper) nemlig. Hoved og test. Hovedkatalogen har Java-kildekode relatert til et eksempel på en kommandolinjeprogram som heter HelloWorld.
HelloWorld-klassen har to metoder, dvs. hovedmetoden, som skriver ut det første argumentet ut av den gitte listen over argumenter og en metode1-metode, som skriver ut det første argumentet sammenkoblet med de første 3 tegnene i det andre argumentet.
Testmappen har en JUnit-testklasse som har tester for å teste de ovennevnte metodene i applikasjonen vår. Kontroller kildekoden til disse testene.
Eksempelprosjektet har også en Gradle wrapper-mappe. Du må bruke den nevnte Gradle wrapper-versjonen mens du kjører byggeoppgavene.
Versjonen av Gradle er veldig viktig, og når utviklere vil dele koden sin, er det alltid fordelaktig å dele en wrapper sammen med prosjektfilene. Det sparer mye tid ettersom wrapper automatisk laster ned den deklarerte versjonen av Gradle.
Eksempler på byggeoppgaver
Å dokumentere koden regnes som en av de viktigste egenskapene til en utvikler. Det er vanlig å dele dokumentasjonen i html format. Gradle hjelper til med å generere javadocs i html formatere prosjekter. Vi kan generere javadocs ved å bruke kommandoen nedenfor.
D: softwaretestinghelp gitrepo>. Gradlew.bat javadoc
Vennligst sjekk javadoc under build-katalogen i prosjektet, og du bør se resultatene som ligner på de som vises i bildet nedenfor.
Følg javadoc stilveiledning gitt på denne lenken mens du skriver Java-dokumentasjon.
La oss nå endre build.gradle-filen for å generere dokumentasjonen for testressurser også.
Oppdater build.gradle-filen med kodebiten vist nedenfor
javadoc { classpath += sourceSets.test.compileClasspath source += sourceSets.test.allJava }
Kjør igjen Gradle javadoc-kommandoen for å generere dokumentasjonen for både hoved- og testkilder.
Flere detaljer om Gradle-oppgavene kan sees her .
Kommandoen om å vite mer Gradle-oppgaver er gitt nedenfor.
D:softwaretestinghelpgitrepo> .gradlew.bat tasks
La oss nå bygge prosjektet.
Bygg Gradle-prosjektet
Følg trinnene nedenfor for å bygge eksemplet på prosjektet fra kommandolinjen:
- Endre prosjektstien.
- Bruk kommandoen nedenfor for å bygge prosjektet.
Du kan imidlertid også bygge prosjektet ved å klikke på det lille hammerikonet i IDE.
D:softwaretestinghelpgitrepo> .gradlew.bat build
Utdataene fra build-kommandoen vil være som vist nedenfor.
Feil i resultatene av byggekjøringen er forsettlig for formålet med denne opplæringen og kan neglisjeres.
Hvis du vil se resultatene av testene som ble kjørt som en del av denne versjonen, kan du sjekke rapportmappen som vist på bildet nedenfor.
For å sjekke resultatene kan du åpne index.html-filen i en nettleser.
Automatiser Gradle Build ved hjelp av Git Actions
Som utviklere må vi sette opp arbeidsflytene våre for å bygge, teste og publisere prosjektene våre, for å samarbeide med operasjonsteamet.
Dessuten kan det være en skremmende oppgave å sette opp et miljø alene og kan ha innvirkning på produktiviteten vår. Med fremveksten av en ny DevOps-kultur, må vi automatisere arbeidsflytene våre for å redusere utfordringene som skyldes byggfeil.
I mellomtiden trenger programvareprosjekter med utviklere, som er geografisk distribuert, samarbeid ved hjelp av SCM-programvare som Git.
Takk til Github Actions. Nå kan du se en ekstra fane i hvilket som helst Github-lager du oppretter. Du kan opprette utviklingsarbeidsflyter og kjøre dem på alle Github-hendelser som push, release, pull_request osv. Dette er revolusjonerende når det gjelder å gi kraften til CI / CD til utviklerfellesskapet.
Åpne Git Actions-konfigurasjonene på .github / arbeidsflyter / gradle.yml fil i prosjektet. Legg merke til at vi utvikler prosjektet vårt på Windows, og i Git Actions tester vi det på ubuntu_latest.
hvilken er den beste YouTube-nedlasteren?
Github Actions har også arbeidsdrivende fra samfunnet som vi kan utnytte og øke hastigheten på å levere prosjektet ditt til kundene. Basert på statusen til byggingen din kan du bestemme om du vil frigjøre prosjektet eller ikke. Vi har gitt eksemplet på en forhåndsutgivelse av depotet til prøveprosjektet.
En valgfri øvelse
Nedenfor er noen av trinnene du kan prøve.
- Opprett et nytt depot i Github.
- Legg til en referanse til den nye fjernkontrollen i gradle_sample-prosjektet.
- Bruk kommandoene til å publisere endringene i det nye depotet.
- Følg resultatene for Gradle-bygningen din under Git Actions.
Konklusjon
Gradle blir brukt av team i selskaper som LinkedIn, Adobe, Netflix, etc., og det er et flott verktøy å mestre. Å jobbe med Gradle er mye enklere enn å jobbe i andre byggeverktøy som Maven og Ant.
I disse dager handler det om fart og smidighet. Læring Gradle og Groovy kan hjelpe deg med å adoptere DevOps-prinsipper lettere.
For å oppsummere dekket vi konsepter om opprettelsen av et Gradle-prosjekt, om å skrive byggeoppgaver i Groovy og om å kjøre oppgaver med Gradle wrapper under utvikling ved hjelp av både IDE og Gradle build-kommandoen.
Vi testet også bygge på en annen målplattform som ubuntu_latest. Vi kan bruke den med en byggestatus, som kan hjelpe til med å ta en beslutning knyttet til en prosjektutgivelse.
Hvis du er automatiseringsingeniør som bruker Selenium Webdriver, må du ikke lese vår kommende veiledning om konfigurering og konfigurering av et Selenium-prosjekt med Gradle.
Håper denne opplæringen ville ha beriket din kunnskap om Gradle Concepts !!
Anbefalt lesing
- Gradle Vs Maven And Maven Plugins
- Hvordan lage gradeprosjekt med selen
- Spock Tutorial: Testing With Spock And Groovy
- Hvordan skrive Basic Groovy Script i SoapUI - SoapUi Tutorial # 6
- Hvordan bruke egenskaper i SoapUI Groovy Script - SoapUI Tutorial # 7
- Lær avanserte SoapUI Groovy Scripting Concepts - SoapUI Tutorial # 9
- Hvordan håndtere unntak i SoapUI Groovy Scripts - SoapUI Tutorial # 11
- Bruk av Maven Build Automation Tool og Maven Project Setup for Selenium - Selen Tutorial # 24