Grazie all’in­te­gra­zio­ne continua, in inglese Con­ti­nuous In­te­gra­tion e ab­bre­via­ta in CI, gli svi­lup­pa­to­ri di software possono aggirare il problema della fase di in­te­gra­zio­ne finale, che spesso risulta pro­ble­ma­ti­ca e di­spen­dio­sa in termini di tempo. Invece di unire tutti gli elementi singoli alla fine, con la CI le modifiche vengono integrate di­ret­ta­men­te nel codice sorgente. Affinché la CI rap­pre­sen­ti un vero vantaggio e non si trasformi in ostacolo, è fon­da­men­ta­le adottare un approccio di­sci­pli­na­to e processi ef­fi­cien­ti. Software svi­lup­pa­ti ap­po­si­ta­men­te possono fa­ci­li­ta­re l'intero processo.

Consiglio

Se non siete ancora convinti che l’in­te­gra­zio­ne continua sia la soluzione migliore per voi e il vostro team, potete trovare tutte le in­for­ma­zio­ni prin­ci­pa­li nonché un confronto tra vantaggi e svantaggi nel nostro articolo ap­pro­fon­di­to sulla Con­ti­nuous In­te­gra­tion.

In­di­pen­den­ti o in com­bi­na­zio­ne con altre ap­pli­ca­zio­ni diffuse, gli strumenti per la CI offrono supporto nella creazione di re­po­si­to­ry, nel testing e building nonché nel controllo delle versioni e ov­via­men­te nella stessa in­te­gra­zio­ne continua.

8 strumenti popolari di CI

La scelta di strumenti di Con­ti­nuous In­te­gra­tion su Internet è molto ampia. L'o­biet­ti­vo di ciascuno di questi strumenti è sup­por­ta­re gli svi­lup­pa­to­ri nel­l'a­do­zio­ne del­l'in­te­gra­zio­ne continua, anche se possono cambiare la modalità e le ca­rat­te­ri­sti­che spe­ci­fi­che. Gli strumenti di CI, tuttavia, non si di­stin­guo­no uni­ca­men­te per le fun­zio­na­li­tà che offrono, ma pre­sen­ta­no notevoli dif­fe­ren­ze anche in termini di prezzo e licenza. Anche se molti dei software sono open source e dunque gratuiti, alcuni pro­dut­to­ri offrono strumenti a pagamento. Di seguito vi forniamo una pa­no­ra­mi­ca dei programmi più ap­prez­za­ti e vi pre­sen­tia­mo le loro prin­ci­pa­li ca­rat­te­ri­sti­che e fun­zio­na­li­tà.

Jenkins

Il software Jenkins è pro­ba­bil­men­te uno degli strumenti di Con­ti­nuous In­te­gra­tion più co­no­sciu­ti sul mercato. Questo software è nato nel 2005 (allora con il nome Hudson) e continua a essere svi­lup­pa­to. Il programma scritto in Java offre mol­te­pli­ci funzioni e in­ter­fac­ce che non possono essere uti­liz­za­te soltanto per la CI, ma anche per la Con­ti­nuous Delivery e il Con­ti­nuous De­ploy­ment.

  • pro­gram­ma­to in Java
  • funziona in un EJB Container
  • più di 1000 plug-in
  • supporta anche la Con­ti­nuous Delivery e il Con­ti­nuous De­ploy­ment
  • può essere combinato con mol­te­pli­ci soluzioni di gestione di versioni
  • controllo tramite GUI (basato su web), REST API o comandi in riga di comando
  • pos­si­bi­li­tà di cloud hosting
  • gratuito
  • open source (licenza MIT)

Travis CI

Chi lavora con GitHub adorerà si­cu­ra­men­te Travis CI, dato che è per­fet­ta­men­te com­pa­ti­bi­le con la popolare soluzione per la gestione delle versioni. Il software può essere fa­cil­men­te con­fi­gu­ra­to tramite un file YAML che va salvato nella root del progetto di sviluppo. GitHub informa Travis CI su ogni modifica attuata sul re­po­si­to­ry e ga­ran­ti­sce il costante ag­gior­na­men­to del progetto.

  • pro­gram­ma­to in Ruby
  • in­di­pen­den­te dalle piat­ta­for­me
  • com­pa­ti­bi­le con GitHub
  • con­fi­gu­ra­zio­ne mediante file YAML
  • gratuito per progetti open source
  • costo per progetti com­mer­cia­li compreso tra 69 $ e 489 $ al mese
  • open source (licenza MIT)

Bamboo

L'azienda Atlassian, che adesso offre anche il servizio di hosting di file Bitbucket, ha lanciato lo strumento CI Bamboo nel 2007. Bamboo supporta gli svi­lup­pa­to­ri non solo nel­l'in­te­gra­zio­ne, ma offre anche funzioni per il De­ploy­ment e la gestione delle release. Questo strumento lavora mediante una piat­ta­for­ma web molto semplice.

  • pro­gram­ma­to in Java
  • in­di­pen­den­te dalle piat­ta­for­me
  • in­te­gra­zio­ne semplice di altri prodotti Atlassian
  • ampia scelta di add-on
  • pos­si­bi­li­tà di eseguire più test con­tem­po­ra­nea­men­te
  • co­mu­ni­ca­zio­ne tramite piat­ta­for­ma web e REST API
  • gratuito per progetti open source, or­ga­niz­za­zio­ni no profit e classi sco­la­sti­che
  • al­tri­men­ti costo una tantum tra 10 $ e 110.000 $, a seconda del numero di server uti­liz­za­ti

GitLab CI

GitLab CI è parte in­te­gran­te della soluzione di gestione delle versioni GitLab. Oltre al­l'in­te­gra­zio­ne continua, GitLab supporta anche il Con­ti­nuous De­ploy­ment e la Con­ti­nuous Delivery. Come nel caso di Travis CI, anche per GitLab CI la con­fi­gu­ra­zio­ne avviene mediante un file YAML. Anche per altri aspetti, l'u­ti­liz­zo del software è in confronto molto semplice.

  • parte in­te­gran­te di GitLab
  • pro­gram­ma­to in Ruby e Go
  • con­fi­gu­ra­zio­ne mediante file YAML
  • supporta anche la Con­ti­nuous Delivery e il Con­ti­nuous De­ploy­ment
  • Open Core
  • pos­si­bi­li­tà di self hosting e cloud hosting
  • la versione gratuita dispone solo di alcune fun­zio­na­li­tà
  • costo per altre versioni compreso tra 4 $ e 99 $ al mese

CircleCI

b2l4zTS8lPg.jpg Per visualizzare questo video, sono necessari i cookie di terze parti. Puoi accedere e modificare le impostazioni dei cookie qui.

Lo strumento di in­te­gra­zio­ne continua CircleCI è com­pa­ti­bi­le sia con GitHub e Bitbucket. Per il testing vengono uti­liz­za­ti container o una macchina virtuale. CircleCI punta so­prat­tut­to sulla sem­pli­ci­tà e uni­for­mi­tà dei processi di sviluppo. Per questo offre la pos­si­bi­li­tà di mettere au­to­ma­ti­ca­men­te a di­spo­si­zio­ne build corretti per altri ambienti.

  • con­fi­gu­ra­zio­ne mediante file YAML
  • supporta anche il Con­ti­nuous De­ploy­ment
  • pos­si­bi­li­tà di self hosting e cloud hosting
  • com­pa­ti­bi­le con container Docker, Linux VM e MacOS VM
  • gratuito per container
  • al­tri­men­ti a un costo compreso tra 50 $ e 3150 $ al mese

Crui­se­Con­trol

Lo strumento Crui­se­Con­trol è una delle ap­pli­ca­zio­ni per l'in­te­gra­zio­ne continua più datate. Infatti è stato lanciato sul mercato già nel 2001 e il suo sviluppo non si è mai in­ter­rot­to, anche grazie a Martin Fowler, un pioniere nel settore della Con­ti­nuous In­te­gra­tion. Oltre a una dashboard molto chiara, gli svi­lup­pa­to­ri possono sfruttare numerosi plug-in per fa­ci­li­ta­re il loro lavoro.

  • pro­gram­ma­to in Java
  • in­di­pen­den­te dalle piat­ta­for­me
  • dashboard basata sul web
  • versioni per Ruby (Crui­se­Con­trol.rb) e .NET (Crui­se­Con­trol.NET)
  • open source (licenza BSD)
  • gratuito

Codeship

Lo strumento di CI Codeship ap­par­tie­ne ora a CloudBee, come Jenkins. Il programma è di­spo­ni­bi­le in due versioni: una versione base, ca­rat­te­riz­za­ta da un'in­ter­fac­cia web molto intuitiva, e una versione pro­fes­sio­na­le che viene con­fi­gu­ra­ta mediante file nel re­po­si­to­ry. Chi lavora con container Docker deve scegliere la versione pro­fes­sio­na­le.

  • in­ter­fac­cia web nella versione base
  • file di con­fi­gu­ra­zio­ne nel re­po­si­to­ry nella versione pro­fes­sio­na­le
  • supporto di Docker nella versione pro­fes­sio­na­le
  • gratuito per 100 build al mese con una pipeline di test
  • costo compreso tra 75 $ e 1.500 $ al mese

TeamCity

Il software TeamCity è par­ti­co­lar­men­te in­te­res­san­te per i suoi gated check-in, che con­sen­to­no a TeamCity di testare le modifiche del codice prima ancora che vengano integrate nella mainline. Solo quando il codice sorgente sarà privo di difetti, sarà reso di­spo­ni­bi­le anche al resto del team. TeamCity esegue i test au­to­no­ma­men­te in secondo piano in modo da non in­ter­rom­pe­re il lavoro dello svi­lup­pa­to­re.

  • pro­gram­ma­to in Java
  • in­di­pen­den­te dalle piat­ta­for­me
  • Gated check-in
  • gratuito per 100 build con 3 Build Agent
  • costo una tantum, compreso tra 299 € e 21.999 €
  • 50% di sconto per start-up e gratuito per progetti open source

Tabella rias­sun­ti­va: pa­no­ra­mi­ca degli strumenti di Con­ti­nuous In­te­gra­tion

Tutti gli strumenti di CI hanno vantaggi e svantaggi diversi. Grazie alla seguente tabella rias­sun­ti­va potrete capire im­me­dia­ta­men­te quali programmi fanno al caso vostro. Potrete, ad esempio, vedere subito se la soluzione supporta anche la Con­ti­nuous Delivery o se include il cloud hosting.

Jenkins MIT - Molti plug-in
Travis CI MIT 69–489 $ al mese Col­le­ga­men­to diretto a GitHub
Bamboo Pro­prie­ta­rio 10–110.000 $ una tantum  
GitLab CI MIT/EE 4–99 $ al mese Col­le­ga­men­to diretto ad altri prodotti Atlassian
Circle CI Pro­prie­ta­rio 50–3.150 $ al mese Facile da usare
Crui­se­Con­trol BSD - Com­ple­ta­men­te gratuito
Codeship Pro­prie­ta­rio 75–1.500 $ al mese Versione Pro e Base
TeamCity Pro­prie­ta­rio 299€ –21.999 una tantum Gated check-in
Vai al menu prin­ci­pa­le