ProHoster > Blog > nutizie internet > 3 strumenti populari per l'urganizazione di l'implementazione cuntinuu (Deployment continuu)
3 strumenti populari per l'urganizazione di l'implementazione cuntinuu (Deployment continuu)
L'implementazione cuntinuu hè un approcciu speciale in u sviluppu di software chì hè utilizatu per implementà rapidamente, in modu sicuru è efficiente diverse funzioni in u software.
L'idea principale hè di creà un prucessu automatizatu affidabile chì permette à u sviluppatore di furnisce rapidamente u pruduttu finitu à l'utilizatore. À u listessu tempu, i cambiamenti custanti sò fatti à a produzzione - questu hè chjamatu pipeline di spedizione cuntinuu (CD Pipeline).
Ramintemu:per tutti i lettori di "Habr" - un scontu di 10 000 rubles quandu si iscrizzione in ogni cursu Skillbox cù u codice promozionale "Habr".
Per cuntrullà u flussu, pudete aduprà una larga gamma di strumenti, cumpresi sia pagati sia completamente gratuiti. Questu articulu descrive trè di e soluzioni più populari trà i sviluppatori chì ponu esse utili à ogni programatore.
Jenkins
Servitore d'automatizazione open source cumplettamente autonomu. Vale a pena di travaglià per automatizà ogni tipu di attività ligati à a custruzzione, a prova, a spedizione o l'implementazione di software.
Requisiti minimi di u PC:
256 MB di RAM, 1 GB di spaziu di fugliale.
Ottimale:
1 GB di RAM, 50 GB di discu duru.
Per travaglià, avete bisognu di un software supplementu - Java Runtime Environment (JRE) versione 8.
Dopu questu, Jenkins serà dispunibule in u sistema via u portu predeterminatu 8080.
Per verificà a funziunalità, avete bisognu di apre l'indirizzu in u navigatore localhost: 8080. Allora u sistema vi invitarà à inserisce a password iniziale per l'utilizatore root. Questa password si trova in u schedariu /var/lib/jenkins/secrets/initialAdminPassword.
Avà tuttu hè prontu per andà, pudete cumincià à creà flussi CI / CD. L'interfaccia grafica di u workbench s'assumiglia cusì:
Punti di forza di Jenkins:
scalabilità furnita da l'architettura Master / Slave;
dispunibilità di REST XML/JSON API;
a capacità di cunnette un gran numaru di estensioni grazia à i plugins;
cumunità attiva è in constante evoluzione.
Cons:
ùn ci hè micca un bloccu analiticu;
interfaccia micca assai user-friendly.
TeamCity
Sviluppu cummerciale da JetBrains. U servitore hè bonu cù una cunfigurazione simplice è una interfaccia eccellente. A cunfigurazione predeterminata hà un gran numaru di funzioni, è u numeru di plugins dispunibili hè in constantemente crescente.
Richiede Java Runtime Environment (JRE) versione 8.
I requisiti hardware di u servitore ùn sò micca critichi:
RAM - 3,2 GB;
processore - dual-core, 3,2 GHz;
canale di cumunicazione cù una capacità di 1 Gb/s.
U servitore permette di ottene un altu rendimentu:
60 prughjetti cù 300 cunfigurazioni di custruzzione;
allocate 2 MB per u logu di creazione;
50 agenti di custruzzione;
a capacità di travaglià cù 50 utilizatori in a versione web è 30 utilizatori in l'IDE;
100 cunnessione di VCS esterni, di solitu Perforce è Subversion. U tempu di cambiamentu mediu hè 120 seconde;
più di 150 mudificazioni per ghjornu;
travaglià cù a basa di dati in un servitore;
Paràmetri di prucessu di u servitore JVM: -Xmx1100m -XX:MaxPermSize=120m.
I requisiti di l'agenti sò basati nantu à l'assemblee in esecuzione. U compitu principalu di u servitore hè di monitorà tutti l'agenti cunnessi è distribuisce assemblee in fila à questi agenti basati nantu à i requisiti di cumpatibilità, rappurtandu i risultati. L'agenti venenu in una varietà di piattaforme è sistemi operativi, più un ambiente pre-configuratu.
Tutte l'infurmazioni nantu à i risultati di custruzzione sò guardati in a basa di dati. Principalmente questu hè a storia è altre dati simili, cambiamenti VCS, agenti, custruite file, cunti d'utilizatori è permessi. A basa di dati ùn include micca solu logs di custruzzione è artefatti.
Installazione per Linux
Per installà manualmente TeamCity cù un containeru di servlet Tomcat, avete aduprà l'archiviu TeamCity: TeamCity .tar.gz. Scaricate pudete piglià da quì.
tar -xfz TeamCity.tar.gz
/bin/runAll. sh [start|stop]
Quandu avete principiatu, avete bisognu di selezziunà u tipu di basa di dati in quale i dati di l'assemblea seranu guardati.
A cunfigurazione predeterminata funziona localhost: 8111/ cù un agente di custruzzione registratu chì funziona nantu à u stessu PC.
I punti di forza di TeamCity:
installazione simplice;
interfaccia user-friendly;
un gran numaru di funzioni integrate;
serviziu di sustegnu;
ci hè una API RESTful;
bona documentazione;
bona sicurità.
Cons:
integrazione limitata;
Questu hè un strumentu pagatu;
una piccula cumunità (chì, però, hè in crescita).
GoCD
Un prughjettu open source chì richiede Java Runtime Environment (JRE) versione 8 per l'installazione è u funziunamentu.
Requisiti di u sistema:
RAM - 1 GB minimu, più hè megliu;
processore - dual-core, cù una freccia core di 2 GHz;
discu duru - almenu 1 GB di spaziu liberu.
Agente:
RAM - almenu 128 MB, più hè megliu;
processore - almenu 2 GHz.
U servitore assicura u funziunamentu di l'agenti è furnisce una interfaccia còmuda per l'utilizatore:
Fasi / Impieghi / Tasks:
Installazione per Linux
echu "deb download.gocd.org /” | sudo tee /etc/apt/sources.list.d/gocd.list
capacità di mostrà u percorsu di implementazione di GoCD passu à passu in una vista:
eccellente visualizazione di a struttura di u pipeline:
GoCD ottimizeghja u flussu di travagliu CD in l'ambienti di nuvola più populari cumpresi Docker, AWS;
l'uttellu permette di curregà i prublemi in u pipeline, per quale ci hè un seguimentu di ogni cambiamentu da cummit à implementazione in tempu reale.
Cons:
almenu un agentu hè necessariu;
ùn ci hè micca cunsola per vede tutti i travaglii cumpleti;
per eseguisce ogni cumanda, avete bisognu di creà un compitu per a cunfigurazione di pipeline;
Per installà u plugin, avete bisognu di spustà u schedariu .jar /plugins/external è riavvia u servitore;
cumunità relativamente chjuca.
Comu cunclusioni
Quessi sò solu trè strumenti, in fatti ci sò assai di più. Hè difficiuli di sceglie, cusì avete bisognu di attentu à l'aspetti supplementari.
U codice surghjente apertu di l'uttellu permette di capisce ciò chì hè, è aghjunghje novi funzioni più veloce. Ma s'ellu ùn hè micca travagliatu, allora avete da cunfidassi solu nantu à sè stessu è l'aiutu di a cumunità. Strumenti pagati furnisce un supportu chì à volte pò esse criticu.
Se a sicurità hè a vostra prima priorità, vale a pena travaglià cù un strumentu lucale. Se no, allora sceglie una soluzione SaaS hè una bona opzione.
È infine, per assicurà un prucessu di implementazione cuntinuu veramente efficace, avete bisognu di furmulà criteri chì e so specificità vi permettenu di restringere a gamma di strumenti dispunibili.