Integració de Jenkins Git: útil per a tots els professionals de DevOps



Aquest bloc tracta sobre la integració de Git amb Jenkins. També es discuteixen els avantatges d’integrar Git amb Jenkins juntament amb la demostració.

és certament incomplet sense Jenkins. Jenkins juntament amb Git és una combinació meravellosa. Per tant, en aquest article parlaré de la integració de Jenkins Git i els seus avantatges. Les indicacions que tractarem són les següents:

Comencem, doncs, amb el nostre primer tema.





Què és Git: per què Git Va entrar en existència?

Tots sabem que 'La necessitat és la mare de tots els invents'. De la mateixa manera, Git va sorgir per satisfer certes necessitats que els desenvolupadors es van enfrontar abans que Git. Per tant, fem un pas enrere per conèixer tot sobre els sistemes de control de versions (VCS) i sobre com va existir Git.

Control de versions és la gestió de canvis en documents, programes d’ordinador, grans llocs web i altres recopilacions d’informació.



Hi ha dos tipus de VCS:

  • Sistema de control de versions centralitzat (CVCS)

  • Sistema de control de versions distribuïdes (DVCS)



VCS centralitzat

Un sistema de control de versions centralitzat (CVCS) utilitza un servidor central per emmagatzemar tots els fitxers i permet la col·laboració en equip. Funciona en un únic dipòsit al qual els usuaris poden accedir directament a un servidor central.

com ordenar els números en c ++

Consulteu el diagrama següent per obtenir una millor idea de CVCS:

El dipòsit del diagrama anterior indica un servidor central que podria ser local o remot, que està directament connectat a cadascuna de les estacions de treball del programador.

Tots els programadors poden extreure o actualització les seves estacions de treball amb les dades presents al dipòsit. També poden fer canvis a les dades o compromís al dipòsit. Cada operació es realitza directament al dipòsit.

Tot i que sembla bastant convenient mantenir un únic dipòsit, té alguns inconvenients importants. Alguns d’ells són:

  • No està disponible localment, és a dir, sempre heu d'estar connectat a una xarxa per realitzar qualsevol acció.

  • Com que tot està centralitzat, en qualsevol cas, si el servidor central es bloqueja o es corromprà, es perdran totes les dades del projecte.

Aquí és on Distributed VCS resol el problema.

VCS distribuït

Aquests sistemes no necessàriament depenen d’un servidor central per emmagatzemar totes les versions d’un fitxer de projecte.A VCS distribuït, tots els col·laboradors tenen una còpia o un 'clon' local del dipòsit principal. Aquí tothom manté un repositori local propi que conté tots els fitxers i metadades presents al dipòsit principal.

Ho entendreu millor fent referència al diagrama següent:

Com podeu veure al diagrama anterior, cada programador manté un dipòsit local per si sol, que en realitat és la còpia o el clon del dipòsit central del disc dur. Poden confirmar i actualitzar el seu repositori local sense interferències.

Poden actualitzar els repositoris locals amb noves dades del servidor central mitjançant una operació anomenada ' estirar ”I afecten els canvis al dipòsit principal mitjançant una operació anomenada“ empènyer ”Del seu dipòsit local.

Ara intentem conèixer la definició de Git.

  • Git és una eina de control de versions distribuïdes que admet fluxos de treball no lineals distribuïts proporcionant garantia de dades per al desenvolupament de programari de qualitat. Eines com Git permeten la comunicació entre el desenvolupament i l'equip d'operacions.

  • Normalment, quan desenvolupeu un gran projecte, teniu un gran nombre de col·laboradors. Per tant, és molt important tenir comunicació entre els col·laboradors mentre es fan canvis en el projecte.

  • Els missatges de compromís a Git tenen un paper molt important en la comunicació entre l’equip. A part de la comunicació, el motiu més important per utilitzar Git és que sempre teniu una versió estable del codi.

  • Per tant, Git juga un paper vital per tenir èxit a DevOps.

Què és Jenkins?

Jenkins és una eina d'automatització de codi obert escrita en Java amb connectors creats amb finalitats d'integració contínua. Jenkins s'utilitza per crear i provar els vostres projectes de programari contínuament, facilitant als desenvolupadors la integració dels canvis al projecte i facilitant als usuaris l'obtenció d'una nova versió. També us permet lliurar contínuament el vostre programari mitjançant la integració amb un gran nombre de tecnologies de proves i desplegament.

Amb Jenkins, les organitzacions poden accelerar el procés de desenvolupament de programari mitjançant l'automatització. Jenkins integra processos de cicle de vida de tot tipus de desenvolupament, inclosos els de compilació, documentació, prova, empaquetatge, escenari, desplegament, anàlisi estàtica i molt més.

Jenkins aconsegueix una integració contínua amb l'ajuda de connectors. Els connectors permeten la integració de diverses etapes DevOps. Si voleu integrar una eina particular, heu d’instal·lar els connectors d’aquesta eina. Per exemple, Git, projecte Maven 2, Amazon EC2, editor HTML, etc.

Els avantatges de Jenkins inclouen:

  • És una eina de codi obert amb un gran suport comunitari.

  • Massa fàcil d’instal·lar.

  • Té més de 1000 connectors per facilitar el vostre treball. Si no existeix cap complement, el podeu codificar i compartir amb la comunitat.

  • És gratuït.

  • Està construït amb Java i, per tant, és portàtil a totes les principals plataformes.

Ara ja sabeu com Jenkins supera les deficiències tradicionals de SDLC. La taula següent mostra la comparació entre 'Abans i Després de Jenkins'.

com convertir un número a binari en python
Abans de JenkinsDesprés de Jenkins
Es va crear tot el codi font i després es va provar. La localització i la solució d’errors en cas de fallida de la compilació i de la prova va ser difícil i que requeria molt de temps, cosa que al seu torn alenteix el procés de lliurament del programari.Totes les confirmacions realitzades al codi font es construeixen i comproven. Per tant, en lloc de comprovar tot el codi font, els desenvolupadors només han de centrar-se en un compromís concret. Això condueix a noves versions freqüents de programari.
Els desenvolupadors han d’esperar als resultats de les provesEls desenvolupadors coneixen el resultat de la prova de totes les confirmacions realitzades al codi font en cursa.
Tot el procés és manualNomés calcometeu canvis al codi font i Jenkins us automatitzarà la resta del procés.

Per què Jenkins i Git s’utilitzen junts?

Com s’ha comentat anteriorment, Vaja és un gestor de control de fonts. Aquí és on guardeu el codi font per fer un seguiment de tots els canvis de codi que es produeixen amb el pas del temps i per basar les versions quan estiguin llestes per al llançament.

Jenkins , en canvi, és una solució d’integració contínua. Està concebut per automatitzar la majoria de les tasques que ha de fer un desenvolupador mentre desenvolupa una nova aplicació (comprovacions de qualitat de codi, construcció, arxiu d’artefactes de construcció, proves d’integració, desplegament a diversos entorns, etc.) Sense una solució CI, un desenvolupador ha de passar molt de temps fent aquestes tasques no productives repetitives.

Avantatges:

  • Git i Jenkins són tots dos molt poderosos, però amb un gran poder comporta una gran responsabilitat. És bastant habitual justificar una quantitat innecessària de complicació en una canonada de construcció simplement perquè es pot.
  • Tot i que Jenkins té molts trucs a la màniga, és fàcil aprofitar les funcions de Git, ja que facilita la gestió de versions i el seguiment d'errors és molt més fàcil amb el pas del temps.
  • Ho podem fer tenint cura de les versions de codi que construïm i etiquetant-les adequadament. Això es manté informació relacionada amb la versió propera al codi , a diferència de confiar en els números de construcció de Jenkins o en altres sobrenoms.
  • Protecció de les branques Git redueix el risc d'error humà i automatitzar tantes tasques com sigui possible redueix la freqüència amb què hem de molestar (o esperar) aquests humans.

Exemple:

Prenguem l'exemple d'una nova funció en una aplicació web. Un desenvolupador serà identificat i assignat a la tasca, agafa la base de codis existent del control de la font: per exemple, Git, fa els canvis, realitza proves d’unitats, garanteix la qualitat del codi manualment i torna a comprovar el nou codi a Git.

Després ha de construir el codi, desplegar-lo a la instància d’integració, executar proves d’integració i, un cop el canvi sembli satisfactori, plantejar una sol·licitud de desplegament de producció. Ara, si només tinguéssim un minyó que s’encarregaria d’aquestes seccions de proves, edificis, controls de qualitat i desplegament, el pobre desenvolupador s’hauria pogut centrar millor en aquelles coses en les que és molt bo: implementar i millorar la lògica de la funció.

Aquest minyó és Jenkins. Actua com a orquestrador per executar totes aquestes activitats un cop es comprova el canvi en el control de font (Git) i, per tant, dóna informació ràpida al desenvolupador si els canvis que ha fet són prou bons per al desplegament de producció o no.És un codi obert extremadament flexible i té un munt de connectors que poden fer gairebé tot el que desitgeu.

Demostració

Aquí veurem com integrar Git amb Jenkins. Hi ha 5 passos que heu de seguir:

1. Creeu un programa de mostra:

Podeu crear qualsevol programa de mostra que vulgueu, com ara Java o Python o qualsevol altre programa. Aquí escriurem un senzill Programa Python que imprimeix Hola, món!

2. Creeu una feina de Jenkins:

  • Aquí primer cal comença Jenkins utilitzant el símbol del sistema.

  • Per a això, primer heu de navegar fins a la ubicació de Jenkins al vostre sistema i utilitzar l'ordre java -jar jenkins.war

  • Després d’executar aquesta ordre, obriu el navegador web i aneu a la pàgina inicial de Jenkins mitjançant l’enllaç localhost: 8080 . Aquest és el número de port per defecte.

  • Obriu la pàgina principal de Jenkins per introduint el nom d’usuari i la contrasenya.

    instal·leu PHP a Windows 8
  • Per crear un projecte, feu clic a Article nou i introduïu el fitxer nom del projecte i seleccioneu Projecte d’estil lliure . Feu clic a D'acord.

3. Afegiu aquest programa a Github:

  • Obre git bash al vostre sistema. Navega a la ubicació del vostre programa. Inicialitzeu un dipòsit buit amb l'ordre git init .

  • Utilitzeu l'ordre git add. per afegir el fitxer a l'àrea de prova des del directori de treball.

  • Ara afegiu el fitxer al dipòsit local mitjançant l'ordre git commit -m 's'ha afegit el fitxer demo.py' .

  • Ara cal empènyer aquest fitxer al dipòsit remot. Per fer-ho, aneu al vostre compte de GitHub i creeu un nou dipòsit públic. Ara copieu la ubicació d’aquest dipòsit i aneu al terminal git bash. Aquí escriviu l'ordre git remote afegir origen . Com que ja us heu connectat al dipòsit remot, ara podeu introduir-hi el codi mitjançant l'ordre git push -u origen mestre. Per verificar-ho, aneu al compte de GitHub i actualitzeu la pàgina. Veureu el fitxer afegit allà.

4. Afegiu el connector Git a Jenkins:

  • A la pàgina principal de Jenkins, aneu a Gestiona Jenkins .

  • A continuació, feu clic a Gestiona els connectors . Aquí comproveu el connector Git a la secció instal·lada. Si no està disponible aquí, cerqueu-lo a la secció disponible i descarregueu-lo.

5. Configureu la feina de Jenkins per activar la compilació:

  • Aneu al projecte de Jenkins que vam crear al pas 2. Aquí, a la secció Gestió del codi font, seleccioneu git i introduïu l'enllaç del dipòsit públic que heu creat al pas 3. A continuació, al fitxer Construeix la secció Triggers , fer clic a Opció d'enquesta SCM . Aquí, a la part Programació, heu d'introduir cinc asteriscs separats per espai. Això no és altra cosa que la sintaxi cron per al vostre treball. Això significa que Jenkins comprovarà si hi ha canvis al codi font cada minut i, si hi ha algun canvi, activarà la compilació de Jenkins.

  • Fer clic a Aplicar i després Desa . A continuació, feu clic a la pàgina inicial del projecte Construeix ara . Això executarà el projecte i, a la sortida de la consola, podreu veure la sortida del programa de l'estat del vostre treball Jenkins. Si tot està bé, es mostrarà com a Èxit .

Així doncs, es fa la integració de Jenkins Git. Amb això, hem arribat al final d’aquest article sobre Jenkins Git Integration. Espero que us hagi agradat aquest article.

Ara que ja heu entès què Integració de Jenkins Git és, fes un cop d'ull a això per Edureka, una empresa d'aprenentatge en línia de confiança amb una xarxa de més de 250.000 estudiants satisfets repartits per tot el món. El curs de formació en certificació Edureka DevOps ajuda els estudiants a entendre què és DevOps i obtenir experiència en diversos processos i eines DevOps com Puppet, Jenkins, Nagios, Ansible, Xef, Saltstack i GIT per automatitzar diversos passos en SDLC.

Tens alguna pregunta? Esmenta’l a la secció de comentaris i et respondrem