how use gradle build
Denna handledning behandlar hur man använder Gradle för att skapa ett projekt och skriva uppgifter i Groovy och köra uppgifter med Gradle Wrapper med både IDE & Build-kommandot:
Eftersom vi är samtida utvecklare behöver vi veta om vissa termer som Shift-Left, DevOps, Continuous Integration (CI), Continuous Delivery (CD), etc.
I denna handledning lär vi oss om Groovy och Gradle tillsammans med deras användning för att skapa Gradle-bygguppgifter respektive byggprojekt. Groovy är ett mångfacetterat språk - med kortfattat, bekant och lättanvänt syntax för Java-plattform och det kan användas för att skriva byggnads- och automatiseringsuppgifter.
Språket klistrar sig bra med Gradle, som är ett av de populära verktygen som används för att integrera utvecklarens arbetsflöde i en CI / CD-pipeline.
Denna handledning förklarar Gradle för Java-utvecklare. Den innehåller detaljer om hur det fungerar; hur man använder Gradle för att bygga källkod skriven i Java för distribution på vilken plattform som helst.
Det ger plugins för de flesta IDE: er och gör det lättare att leverera programvara snabbare. Att följa oss längs resan för att lära oss de ovan nämnda begreppen, det kommer att vara jättebra om du tittar på förvaret för a provprojekt som vi har skapat på Github.
Vad du kommer att lära dig:
- Systemkrav och förutsättningar
- Skriv ditt första program i Groovy - Hello World
- Grunderna i groovy språk
- Vad är Gradle?
- Funktioner och fördelar med att använda Gradle
- Bygg ett Gradle-projekt
- Automatisera Gradle Build med Git Actions
- Slutsats
- Rekommenderad läsning
Systemkrav och förutsättningar
Detta avsnitt innehåller steget att installera ett IDE - IntelliJ IDEA och Java Development Kit (JDK). Detaljerna om de grundläggande begreppen på Groovy-språket för att få oss att snabba mot att skriva vår första bygguppgift förklaras med hjälp av ett kodavsnitt.
Installera IntelliJ IDEA
Installera en IDE (Integrated Development Environment) för att skapa Java-projektet. Vi använder IntelliJ IDEA (Community Edition) för denna handledning. Följ respektive länkar för att ladda ner och installera det på Windows / Mac / Linux.
Windows: Klicka här
Mac: Klicka här
Linux: Klicka här
Installera och konfigurera JDK
Ladda ner JDK . Man måste registrera sig för ett RedHat-konto för att slutföra steget. När den har laddats ner kör du installationen för att installera den på din Windows-dator. När den är installerad öppnar du kommandotolken och kör kommandona nedan för att kontrollera om den fungerar eller inte.
Kommandona nedan kan användas för att veta var JDK är installerat eller inte.
D: softwaretestinghelp> där java
D: softwaretestinghelp> där javac
Låt oss nu konfigurera den installerade JDK med vår IDE. Öppna plattformsinställningarna i IntelliJ IDEA och lägg till JDK genom att följa stegen nedan. Kom ihåg att detta JDK är tillämpligt på alla projekt som du kommer att arbeta med med hjälp av denna IDE.
Steg 1: Lägg till den nedladdade JDK till SDK under plattformsinställningar som visas på bilden.
Steg 2: Uppdatera Project SDK i projektinställningarna som visas på bilderna
bästa röstväxlarapp för pc
När du har tillämpat de konfigurerade inställningarna ska du bygga projektet en gång med den lilla gröna hammarikonen i IDE.
Ställ in ett exempelprojekt
Det finns två sätt att börja med projektet. Vi kan antingen ladda ner projektets zip-fil från Github-projektsidan och importera den som ett Gradle-projekt i Intellij IDEA, eller klona projektet från Github-förvaret.
Steg för att klona projektet från Github ges nedan:
Öppna IDE genom att dubbelklicka på genvägsikonen på skrivbordet. Stäng alla befintliga projekt om de redan har öppnats. Kom ihåg att Git-plugin är standardbundet med IntelliJ IDEA. Installera det därför inte.
Steg 1: Klicka på IDE: s välkomstskärm Få från versionskontroll .
Steg 2: Ge den Github-förvarets URL och klicka på Clone.
Steg 3: Klicka på Ja när Checkout-filprompten visas.
Steg 4: Vänta tills bakgrundsprocessen är klar och kontrollera utdata.
Steg 5: Klicka på den vikta projektfönstret för att se projektstrukturen i utforskaren.
c slumpmässigt tal mellan 0 och 1
Skriv ditt första program i Groovy - Hello World
I projektet öppnar du Gradle-byggfilen som heter build.gradle med filutforskaren för din IDE och skriv nedanstående kod i slutet av filen.
task helloWorld { doLast { println('Hello, World!') } }
Kör nu den första uppgiften genom att klicka på Kör i snabbmenyn för uppgiftsikonen och observera utdata från tryckln inbyggd metod av Groovy. Vi kan använda “CTRL + SKIFT + F10” också. (Se bilden nedan)
Utgången ska se ut som den som visas ovan.
Grunderna i groovy språk
Nu när du har lärt dig hur du skapar ditt första program i Groovy kan vi påskynda och lära oss mer om språkets grunder. Detta avsnitt kommer att täcka begrepp som variabla namn, syntax, operatorer, metoder / funktioner / stängningar etc.
Vi kommer också att täcka de begrepp som är mer relevanta ur projektperspektivet, t.ex. tillgång till projektets egenskaper och importera stängningar / funktioner skrivna i en annan build.gradle fil.
Observera nedanstående kodavsnitt och kommentarer för att lära dig mer om olika språkbegrepp. Det här kodavsnittet är ganska praktiskt för en snabb genomgång och en revision av begreppen 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 båda slingorna märker du att listan har ett nollbaserat index. Ytterligare detaljer nämns på Häftig .
Låt oss nu lära oss mer om Gradle och se hur du kör en uppgift.
Vad är Gradle?
Det är ett byggautomationssystem. Den stöder byggprojekt skrivna på flera språk. I den här handledningen använder vi Java. Detta avsnitt förklarar metoden för att köra Gradle-kommandon från kommandoraden. Vi ska använda den för att bygga, testa och distribuera vårt exempelprojekt.
Gradleberoende
Du kanske redan vet hur viktigt det är att installera beroenden i alla programvara med öppen källkod. Gradle kan söka efter beroenden på offentliga arkiv som Maven, Jcenter och Google.
Nämn dessa förvar i build.gradle fil som visas nedan:
repositories { mavenCentral() jcenter() google() }
Nämn nu beroendets beroenden enligt nedan.
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 nämnda beroenden laddas ner automatiskt och ingår i projektets CLASSPATH av Gradle-plugin. Kontrollera de nedladdade beroenden i IDE: s projektutforskare.
Kontrollera Gradle-versionen med kommandot nedan.
Funktioner och fördelar med att använda Gradle
Nedan listas några av de funktioner som hjälper till med enkel standardisering och antagande av Gradle som en del av DevOps i en organisation.
- Den använder ett DSL-baserat språk som heter Groovy. Det är lättare att skriva bygguppgifter i Groovy än i XML. Dessutom är XML: er besvärliga och inte lätta att läsa. Groovy är dock lättare att lära sig och läsa.
- Den stöder skapande bygger för projekt baserade på både monolitiska och mikrotjänster arkitekturer.
- Den kan användas för att skapa flera artefakter som dokument, API: er. implementeringsburkar etc. och publicera dem som en del av samma build.
- Den har en ganska kraftfull språkkonstruktion för att beställa de ömsesidigt beroende uppgifterna som en del av byggnaderna.
Det finns många fler funktioner som gör att teamen kan anpassa sina byggnader samtidigt som de förpackar programvaran med högre kvalitet. Mer information om funktionerna ges här .
Låt oss nu gå vidare och köra en Gradle-bygguppgift.
Kör en Gradle Task
Kör kommandot som visas nedan under projektets rotkatalog för att köra bygguppgiften som kallas task1.
D: softwaretestinghelp gitrepo>. Gradlew.bat task1
Kontrollera utmatningen enligt nedan.
Bygg ett Gradle-projekt
I det här avsnittet kommer vi att gå igenom projektstrukturen, förstå dess olika komponenter och bygga projektet.
Provprojektets struktur
Exempelprojektet som diskuteras har en src mapp med två huvudkataloger (mappar) nämligen. Huvud och test. Huvudkatalogen har Java-källkod relaterad till ett exempel på en kommandoradsapplikation som heter HelloWorld.
HelloWorld-klassen har två metoder, dvs. huvudmetoden, som skriver ut det första argumentet ur den givna listan med argument och en metod1-metod, som skriver ut det första argumentet sammanfogat med de första 3 tecknen i det andra argumentet.
Testmappen har en JUnit-testklass som har test för att testa ovan nämnda metoder i vår applikation. Kontrollera källkoden för dessa tester.
Exempelprojektet har också en Gradle-omslagsmapp. Du måste använda den nämnda Gradle wrapper-versionen medan du kör dina bygguppgifter.
Versionen av Gradle är mycket viktig och när utvecklare vill dela sin kod är det alltid bra att dela ett omslag tillsammans med projektfilerna. Det sparar mycket tid eftersom wrapper automatiskt laddar ner den deklarerade versionen av Gradle.
Exempel på bygguppgifter
Att dokumentera koden anses vara en av de viktigaste egenskaperna hos en utvecklare. Det är vanligt att dela dokumentationen i html formatera. Gradle hjälper till att generera javadocs i html formatera projekt. Vi kan generera javadocs med kommandot nedan.
D: softwaretestinghelp gitrepo>. Gradlew.bat javadoc
Kontrollera javadoc under byggkatalogen i projektet och du bör se resultaten som liknar de som visas i bilden nedan.
Följ javadoc stilguide ges på den här länken när du skriver Java-dokumentation.
Låt oss nu ändra build.gradle-filen för att generera dokumentation för testresurser också.
Uppdatera build.gradle-filen med utdraget som visas nedan
javadoc { classpath += sourceSets.test.compileClasspath source += sourceSets.test.allJava }
Kör igen kommandot Gradle javadoc för att generera dokumentation för både huvud- och testkällor.
Mer information om Gradle-bygguppgifterna kan ses här .
Kommandot att veta mer Gradle-uppgifter ges nedan.
D:softwaretestinghelpgitrepo> .gradlew.bat tasks
Låt oss nu bygga projektet.
Bygg Gradle-projektet
Följ stegen nedan för att bygga exempelprojektet från kommandoraden:
- Ändra projektvägen.
- Använd kommandot nedan för att bygga projektet.
Du kan dock också bygga projektet genom att klicka på den lilla hammarikonen i IDE.
D:softwaretestinghelpgitrepo> .gradlew.bat build
Utdata från build-kommandot kommer att visas som visas nedan.
Misslyckanden i resultaten från byggkörningen är avsiktliga för denna handledning och kan försummas.
Om du vill se resultaten av testerna som kördes som en del av den här versionen kan du kontrollera rapportmappen som visas i bilden nedan.
För att kontrollera resultaten kan du öppna filen index.html i en webbläsare.
Automatisera Gradle Build med Git Actions
Som utvecklare måste vi ställa in våra arbetsflöden för att bygga, testa och publicera våra projekt för att samarbeta med driftsteamet.
Dessutom kan det vara en skrämmande uppgift att själva skapa en miljö och det kan få konsekvenser för vår produktivitet. Med tillkomsten av en ny DevOps-kultur måste vi automatisera våra arbetsflöden för att minska utmaningarna till följd av fel i byggnaden.
Samtidigt behöver programvaruprojekt med utvecklare, som är geografiskt distribuerade, samarbete med hjälp av SCM-programvara som Git.
Tack till Github Actions. Nu kan du se en ytterligare flik i valfritt Github-arkiv som du skapar. Du kan skapa dina utvecklingsarbetsflöden och köra dem på alla Github-händelser som push, release, pull_request etc. Detta är revolutionerande när det gäller att ge kraften från CI / CD till utvecklargemenskapen.
Öppna Git Actions-konfigurationerna på .github / arbetsflöden / gradle.yml filen i projektet. Lägg märke till att vi utvecklar vårt projekt på Windows och i Git Actions testar vi det på ubuntu_latest.
hur öppnar jag en torrentfil
Github Actions har också community-driven arbetsflöden som vi kan utnyttja och öka hastigheten för att leverera ditt projekt till kunder. Baserat på statusen för din byggnad kan du bestämma om projektet ska släppas eller inte. Vi har gett exemplet med en pre-release av förvaret för exempelprojektet.
En valfri övning
Nedan följer några av stegen du kan prova.
- Skapa ett nytt arkiv i Github.
- Lägg till en referens för den nya fjärrkontrollen i gradle_sample-projektet.
- Använd kommandona för att publicera ändringarna i det nya arkivet.
- Observera resultaten för din Gradle-byggnad under Git Actions.
Slutsats
Gradle används av team i företag som LinkedIn, Adobe, Netflix, etc. och det är ett bra verktyg att bemästra. Att arbeta med Gradle är mycket lättare än att arbeta i andra byggverktyg som Maven och Ant.
Idag handlar det om snabbhet och smidighet. Att lära sig Gradle och Groovy kan hjälpa dig att anta DevOps-principer lättare.
Sammanfattningsvis täckte vi koncept om skapandet av ett Gradle-projekt, om att skriva bygguppgifter i Groovy och om att köra uppgifter med Gradle-omslag under utveckling med både kommandot IDE och Gradle build.
Vi testade också byggnaden på en annan målplattform som ubuntu_latest. Vi kan använda den med en byggstatus som kan hjälpa till att fatta ett beslut relaterat till en projektrelease.
Om du är en automationsingenjör som använder Selenium Webdriver, läs inte vår kommande handledning om konfigurering och inställning av ett Selenium-projekt med Gradle.
Hoppas att denna handledning skulle ha berikat din kunskap om Gradle Concepts !!
Rekommenderad läsning
- Gradle Vs Maven And Maven Plugins
- Hur man skapar Gradle-projekt med selen
- Spock-handledning: Testning med Spock och Groovy
- Hur man skriver Basic Groovy Script i SoapUI - SoapUi Tutorial # 6
- Hur man använder egenskaper i SoapUI Groovy Script - SoapUI-handledning nr 7
- Lär dig avancerade SoapUI Groovy Scripting Concepts - SoapUI Tutorial # 9
- Hur man hanterar undantag i SoapUI Groovy Scripts - SoapUI-handledning # 11
- Användning av Maven Build Automation Tool och Maven Project Setup för Selen - Selen Tutorial # 24