how use gradle build
Aquest tutorial descriu com utilitzar Gradle per crear un projecte i escriure tasques a Groovy i executar tasques amb Gradle Wrapper mitjançant l'ordre IDE i Build:
Com a desenvolupadors contemporanis, hem de conèixer certs termes com ara Maj-esquerra, DevOps, Integració contínua (CI), Lliurament continu (CD), etc.
En aquest tutorial, aprendrem sobre Groovy i Gradle juntament amb el seu ús per crear tasques de construcció de Gradle i construir projectes respectivament. Groovy és un llenguatge amb múltiples facetes: amb una sintaxi concisa, familiar i fàcil d'utilitzar per a la plataforma Java i que es pot utilitzar per escriure tasques de compilació i automatització.
Aquest llenguatge s’enganxa bé amb Gradle, que és una de les eines populars que s’utilitzen per integrar el flux de treball d’un desenvolupador en una canalització CI / CD.
Aquest tutorial explica Gradle per a desenvolupadors de Java. Inclou detalls sobre el seu funcionament; com utilitzar Gradle per crear codi font escrit en Java, per al seu desplegament en qualsevol plataforma.
Proporciona connectors per a la majoria dels IDE i facilita la distribució de programari més ràpidament. Per seguir-nos al llarg del recorregut d’aprenentatge dels conceptes esmentats anteriorment, serà fantàstic mirar el dipòsit de projecte de mostra que hem creat a Github.
Què aprendreu:
- Requisits i requisits previs del sistema
- Escriviu el vostre primer programa a Groovy - Hello World
- Fonaments del llenguatge fantàstic
- Què és Gradle?
- Funcions i avantatges d'utilitzar Gradle
- Construeix un projecte Gradle
- Automatitzeu Gradle Build mitjançant accions de Git
- Conclusió
- Lectura recomanada
Requisits i requisits previs del sistema
Aquesta secció inclou el pas d'instal·lar un IDE - IntelliJ IDEA i Java Development Kit (JDK). Els detalls sobre els conceptes bàsics en el llenguatge Groovy per aconseguir accelerar l’escriptura de la nostra primera tasca de compilació s’expliquen amb l’ajut d’un fragment de codi.
Instal·leu IntelliJ IDEA
Instal·leu un IDE (entorn de desenvolupament integrat) per crear el projecte Java. Utilitzem IntelliJ IDEA (Community Edition) per a aquest tutorial. Seguiu els enllaços corresponents per descarregar-lo i instal·lar-lo a Windows / Mac / Linux.
Windows: Clica aquí
Mac: Clica aquí
Linux: Clica aquí
Instal·leu i configureu JDK
Descarregueu JDK . Cal completar el pas per obtenir un compte de RedHat. Un cop descarregada, executeu la configuració per instal·lar-la al vostre PC amb Windows. Un cop instal·lat, obriu l'indicador d'ordres i executeu les ordres següents per comprovar si funciona o no.
Les ordres següents es poden utilitzar per saber on està instal·lat o no el JDK.
D: softwaretestinghelp> on java
D: softwaretestinghelp> on javac
Ara anem a configurar el JDK instal·lat amb el nostre IDE. Obriu la configuració de la plataforma a IntelliJ IDEA i afegiu el JDK seguint els passos que es mostren a continuació. Recordeu que aquest JDK és aplicable a tots els projectes en què treballareu amb aquest IDE.
Pas 1: Afegiu el JDK descarregat a l'SDK a la configuració de la plataforma, tal com es mostra a la imatge.
Pas 2: Actualitza l'SDK del projecte a la configuració del projecte tal com es mostra a les imatges
descàrrega gratuïta de programari de rellotge horari d'empleat
Després d'aplicar la configuració configurada, construïu el projecte un cop utilitzant la petita icona de martell verd de l'IDE.
Configureu un exemple de projecte
Hi ha dues maneres de començar amb el projecte. Podem descarregar el fitxer zip del projecte des de la pàgina del projecte Github i importar-lo com a projecte Gradle a Intellij IDEA o bé clonar el projecte des del dipòsit Github.
A continuació es detallen els passos per clonar el projecte des de Github:
Obriu l'IDE fent doble clic a la icona de drecera de l'escriptori. Si us plau, tanqueu qualsevol projecte existent. Recordeu que el connector Git està inclòs per defecte amb IntelliJ IDEA. Per tant, no ho instal·leu.
Pas 1: A la pantalla de benvinguda de l'IDE, feu clic a Obteniu el control de versions .
Pas 2: Proporcioneu el fitxer URL del dipòsit Github i feu clic a Clona.
Pas 3: Fer clic a Sí quan es mostri la sol·licitud del fitxer Comanda.
Pas 4: Espereu a que finalitzi el procés de fons i comproveu la sortida.
Pas 5: Feu clic al panell del projecte plegat per veure l'estructura del projecte a l'explorador.
millor bloqueig d'elements emergents per a crom
Escriviu el vostre primer programa a Groovy - Hello World
Al projecte, obriu el fitxer de construcció de Gradle anomenat build.gradle mitjançant l’explorador de fitxers del vostre IDE i escriviu el codi que es mostra a continuació al final del fitxer.
task helloWorld { doLast { println('Hello, World!') } }
Ara executeu la primera tasca fent clic a Executa al menú contextual de la icona de tasca de reproducció i observeu la sortida del fitxer println mètode incorporat de Groovy. Podem utilitzar 'CTRL + MAJ + F10' també. (Consulteu la imatge següent)
La sortida hauria de ser semblant a la que es mostra més amunt.
Fonaments del llenguatge fantàstic
Ara que heu après a crear el vostre primer programa a Groovy, podem accelerar i conèixer els conceptes bàsics de l'idioma. En aquesta secció es tractaran conceptes com ara noms de variables, sintaxi, operadors, mètodes / funcions / tancaments, etc.
També tractarem els conceptes més rellevants des de la perspectiva del projecte com ara accedir a les propietats d’un projecte i importar tancaments / funcions escrits en un altre build.gradle dossier.
Observeu el fragment de codi i els comentaris que s'indiquen a continuació per obtenir informació sobre diversos conceptes de l'idioma. Aquest fragment de codi és molt útil per fer un recorregut ràpid i una revisió dels conceptes de 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++ } } }
A tots dos bucles, observeu que la llista té un índex basat en zero. Es detallen més detalls a Groovy .
Ara coneixem Gradle i veurem com executar una tasca.
Què és Gradle?
És un sistema d’automatització de la construcció. Admet projectes de construcció escrits en diversos idiomes. En aquest tutorial, fem servir Java. En aquesta secció s'explica el mètode per executar ordres Gradle des de la línia d'ordres. L’utilitzarem per construir, provar i desplegar el nostre projecte de mostra.
Dependències de Gradle
Potser ja sabeu la importància que és instal·lar dependències en qualsevol projecte de programari de codi obert. Gradle pot cercar dependències en dipòsits públics com Maven, Jcenter i Google.
Esmenta aquests dipòsits a build.gradle com es mostra a continuació:
repositories { mavenCentral() jcenter() google() }
Ara mencioneu les dependències de temps de compilació com es mostra a continuació.
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' }
Les dependències esmentades es descarreguen automàticament i s’inclouen al CLASSPATH del projecte mitjançant el connector Gradle. Comproveu les dependències descarregades a l'explorador de projectes de l'IDE.
Comproveu la versió de Gradle mitjançant l'ordre següent.
Funcions i avantatges d'utilitzar Gradle
A continuació es detallen algunes de les funcions que ajuden a una fàcil estandardització i adopció de Gradle com a part de DevOps en una organització.
- Utilitza un llenguatge basat en DSL anomenat Groovy. És més fàcil escriure tasques de compilació a Groovy que a XML. A més, els XML són feixucs i no són fàcils de llegir. No obstant això, Groovy és més fàcil d'aprendre i llegir.
- Admet creacions de creació per a projectes basats tant en arquitectures monolítiques com de microserveis.
- Es pot utilitzar per crear diversos artefactes, com ara Documents, API. pots d’implementació, etc. i publiqueu-los com a part de la mateixa compilació.
- Té un llenguatge bastant poderós per ordenar les tasques interdependents com a part de les versions.
Hi ha moltes més funcions que permeten als equips personalitzar les seves versions mentre empaqueten el programari amb una qualitat superior. Es donen més detalls sobre les funcions aquí .
Ara avancem i executem una tasca de construcció de Gradle.
Executeu una tasca Gradle
Executeu l'ordre que es mostra a continuació al directori arrel del projecte per executar la tasca de construcció anomenada tasca1.
D: softwaretestinghelp gitrepo>. Gradlew.bat task1
Comproveu la sortida com es mostra a continuació.
Construeix un projecte Gradle
En aquesta secció, examinarem l’estructura del projecte, comprendreem els seus components i construirem el projecte.
Estructura del projecte de mostra
El projecte de mostra en discussió té un src carpeta amb dos directoris principals (carpetes) a saber. Principal i prova. El directori principal té codi font de Java relacionat amb una aplicació de línia d’ordres de mostra anomenada HelloWorld.
La classe HelloWorld té dos mètodes, és a dir, el mètode principal, que imprimeix el primer argument de la llista d’arguments donada i un mètode method1, que imprimeix el primer argument concatenat amb els 3 primers caràcters del segon argument.
La carpeta de proves té una classe de prova de JUnit que té proves per provar els mètodes esmentats a la nostra aplicació. Comproveu el codi font d’aquestes proves.
El projecte de mostra també té una carpeta d’embolcall Gradle. Heu d’utilitzar la versió d’embolcall Gradle esmentada mentre executeu les tasques de compilació.
La versió de Gradle és molt important i sempre que els desenvolupadors vulguin compartir el seu codi, sempre és útil compartir un embolcall juntament amb els fitxers del projecte. Estalvia molt de temps ja que l’embolcall descarrega automàticament la versió declarada del Gradle.
Exemples de tasques de compilació
Documentar el codi es considera com un dels atributs més importants d’un desenvolupador. És una pràctica habitual compartir la documentació a html format. Gradle ajuda a generar javadocs dins html projectes de format. Podem generar javadocs mitjançant l'ordre següent.
D: softwaretestinghelp gitrepo>. Gradlew.bat javadoc
Comproveu el javadoc al directori de compilació del projecte i hauríeu de veure els resultats similars als que es mostren a la imatge següent.
Seguiu el document javadoc guia d'estil donada en aquest enllaç mentre escriviu documentació Java
Ara canviem el fitxer build.gradle per generar també la documentació dels recursos de prova.
Actualitzeu el fitxer build.gradle amb el fragment que es mostra a continuació
javadoc { classpath += sourceSets.test.compileClasspath source += sourceSets.test.allJava }
Torneu a executar l'ordre Gradle javadoc per generar la documentació per a fonts principals i de prova.
Es poden veure més detalls sobre les tasques de construcció de Gradle aquí .
A continuació es dóna l'ordre per conèixer més tasques de Gradle.
D:softwaretestinghelpgitrepo> .gradlew.bat tasks
Ara construïm el projecte.
Construeix el Projecte Gradle
Seguiu els passos esmentats a continuació per crear el projecte de mostra des de la línia d'ordres:
- Canvieu el camí del projecte.
- Utilitzeu l'ordre següent per crear el projecte.
Tanmateix, també podeu crear el projecte fent clic a la icona de martell petit de l'IDE.
D:softwaretestinghelpgitrepo> .gradlew.bat build
La sortida de l'ordre build serà la que es mostra a continuació.
Els errors en els resultats de la compilació són intencionats als efectes d’aquest tutorial i es poden descuidar.
Si voleu veure els resultats de les proves que s’han executat com a part d’aquesta compilació, podeu consultar la carpeta d’informes tal com es mostra a la imatge següent.
Per comprovar els resultats, podeu obrir el fitxer index.html en un navegador.
Automatitzeu Gradle Build mitjançant accions de Git
Com a desenvolupadors, hem de configurar els nostres fluxos de treball per construir, provar i publicar els nostres projectes, per tal de col·laborar amb l’equip d’operacions.
A més, establir un entorn per nosaltres mateixos pot ser una tasca descoratjadora i pot tenir repercussions en la nostra productivitat. Amb l’arribada d’una nova cultura de DevOps, hem d’automatitzar els nostres fluxos de treball per reduir els reptes derivats dels fracassos de construcció.
Mentrestant, els projectes de programari amb desenvolupadors, distribuïts geogràficament, necessiten col·laboració amb l'ajut de programari SCM com Git.
Gràcies a Github Actions. Ara podeu veure una pestanya addicional a qualsevol dipòsit de Github que creeu. Podeu crear els vostres fluxos de treball de desenvolupament i executar-los en qualsevol esdeveniment de Github com ara push, release, pull_request, etc. Això és revolucionari pel que fa a donar la potència de CI / CD a la comunitat de desenvolupadors.
Obriu les configuracions de Git Actions a .github / workflows / gradle.yml fitxer al projecte. Fixeu-vos que estem desenvolupant el nostre projecte a Windows i que a Git Actions ho estem provant a ubuntu_latest.
quin és el millor descarregador de YouTube?
Github Actions també disposa de fluxos de treball basats en la comunitat que podem aprofitar i augmentar la velocitat d’entrega del vostre projecte als clients. En funció de l'estat de la vostra compilació, podeu decidir si voleu llançar el projecte o no. Hem donat l'exemple d'una versió prèvia del dipòsit del projecte de mostra.
Un exercici opcional
A continuació es detallen alguns dels passos que heu de provar.
- Creeu un dipòsit nou a Github.
- Afegiu una referència del comandament a distància nou al projecte gradle_sample.
- Utilitzeu les ordres per publicar els canvis al nou dipòsit.
- Observeu els resultats de la vostra compilació de Gradle a Git Actions.
Conclusió
Gradle està sent utilitzat per equips d’empreses com LinkedIn, Adobe, Netflix, etc. i és una gran eina per dominar-la. Treballar amb Gradle és molt més fàcil que treballar en altres eines de construcció com Maven i Ant.
Actualment es tracta de velocitat i agilitat. Aprendre Gradle i Groovy us pot ajudar a adoptar els principis de DevOps amb més facilitat.
Per resumir, hem tractat conceptes sobre la creació d'un projecte Gradle, sobre l'escriptura de tasques de compilació a Groovy i sobre l'execució de tasques amb l'embolcall Gradle durant el desenvolupament mitjançant l'ordre IDE i Gradle build.
També hem provat la compilació en una plataforma objectiu diferent, com ara ubuntu_latest. El podem utilitzar amb un estat de compilació, que ens pot ajudar a prendre una decisió relacionada amb una versió del projecte.
Si sou un enginyer d’automatització que utilitza Selenium Webdriver, no deixeu de llegir el proper tutorial sobre la configuració i configuració d’un projecte Selenium amb Gradle.
Espero que aquest tutorial hagi enriquit el vostre coneixement sobre Gradle Concepts.
Lectura recomanada
- Complements de Gradle Vs Maven i Maven
- Com es crea un projecte Gradle amb seleni
- Spock Tutorial: proves amb Spock i Groovy
- Com escriure script Groovy bàsic a SoapUI - Tutorial SoapUi # 6
- Com s'utilitzen les propietats a SoapUI Groovy Script: tutorial SoapUI # 7
- Apreneu els conceptes avançats de scripts SoapUI Groovy: tutorial SoapUI núm. 9
- Com gestionar l'excepció en scripts SoapUI Groovy: tutorial SoapUI núm. 11
- Ús de l'eina d'automatització de Maven Build i la configuració del projecte Maven per a Selenium - Selenium Tutorial # 24