Come GitHub è diventato il nexus di software di automazione

0
114

Zero

Video: Come GitHub è diventato de facto il automatizzati per catena di fornitura software

Per chiamare GitHub un sito web è quello di chiamare l’Italia un posto per mangiare. GitHub è il leader di un praticante di un emergente mercato — e sì, può essere legittimamente chiamato un “mercato”, perché non generare entrate. E ‘ guadagnato, da diverse stime, più di $200 milioni di ricavi nel 2017, ed era evidentemente così preziose per Microsoft per richiedere per l’acquisto di GitHub a titolo definitivo, in un 7,5 miliardi di dollari all-stock tassi dello scorso giugno.

Leggi anche: Perché Microsoft è l’acquisto di GitHub: Si tratta di sviluppatori

È preciso e giusto dire che GitHub creato un mercato nella fornitura di software open-source, e l’automazione della sua distribuzione. Ci sono altri concorrenti in questo mercato, soprattutto GitLab e Atlassian del Bitbucket. È la presenza di quei giocatori che legittima questo mercato.

Cosa GitHub è diventato il più efficace esempio la data di un servizio web che assorbe la funzione di un intero settore della supply chain. Il software Open-source è stato condiviso online in passato, con SourceForge essere uno dei più efficaci per professionisti. Ma la distribuzione del software attraverso SourceForge, e siti come, avviene con l’utilizzo di un sistema di gestione dei contenuti — una piattaforma più adatta per la gente mediante un browser web.

Git andando

180702-github-example-page.jpg

GitHub è progettato per utilizzare uno strumento creato per Linux chiamato git, l’uomo che ha creato Linux, Linus Torvalds. Esso è un sistema automatizzato di catena di fornitura per la distribuzione di software open-source, sia tra le persone che sviluppano e per le persone che fanno uso di esso. L’automazione garantisce che il canale di distribuzione fornisce innovative, sicure versione disponibile per gli utenti, mentre allo stesso tempo la distribuzione meno stabile, lavori in corso per gli sviluppatori. Esso fornisce anche la maggior parte delle versioni stabili di qualsiasi altro componente su cui un codice condiviso elemento può dipendere.

Leggi anche: Linus Torvalds su Linux, la vita e accappatoi

“Il cloud è sempre più una priorità centrale per gli sviluppatori. E su GitHub, tutto quello che facciamo deve essere su un developer vita migliore in ogni fase del loro lavoro e del ciclo di vita,” ha detto Nat Friedman, in arrivo GitHub CEO, durante un giugno conferenza stampa congiunta con Microsoft. “Che comprende aiutarli a rendere più facile per costruire nel cloud.

“GitHub è una piattaforma aperta,” Friedman ha continuato. “Così abbiamo la possibilità per chiunque di collegare i loro servizi cloud in GitHub, e rendere più facile per voi di passare dal codice cloud. E non si estende oltre il cloud: il Codice per il cellulare, codice a bordo del dispositivo, il codice per l’IoT. Ogni flusso di lavoro di uno sviluppatore vuole perseguire, ci sarà il supporto.”

Linus Torvalds intenzioni

Il git strumento non è, contrariamente a quanto si può leggere altrove, una parte esclusiva di Linux. Infatti, le versioni per Windows e Mac OS X sono distribuiti liberamente. Tecnicamente, git (che non è un acronimo che sta per qualcosa in particolare) è stato introdotto un controllo di versione distribuito . Realizzato originariamente per la riga di comando di Linux, si stabilisce un sistema di classificazione a parte il computer del proprio file system dove più versioni di un’evoluzione file possono essere memorizzati e recuperati. Il database in cui queste versioni sono scambiati è chiamato un repository (o “repo”). Qualsiasi versione di un file che viene messo in un repository possono essere estratti, nella stessa condizione. Da git punto di vista, questo non deve essere il software. Può essere il manoscritto di un libro, manuali di istruzioni per le versioni separate di evoluzione della macchina, o di una persona diario.

Torvalds ha scritto originale git come codice sorgente del sistema di gestione per la sua personale contributi per il kernel di Linux. Parte della sua ispirazione era un repository esistente, basato su una versione del sistema di gestione, chiamato Concurrent versions System (CVS). Se vi ricordate l’antico mondo dei database basati su disco, le serrature sono state imposte sui record che sono stati recuperati e, potenzialmente, di aggiornamento, per garantire che non esistono due clienti hanno diversi punti di vista dello stesso record. CVS aveva un concetto simile, utilizzando un repository di contenuti versioni a forcella da altri, come rami di un albero. Un ramo potrebbe essere “controllato” da parte di qualcuno che cercano di fare gli aggiornamenti o modifiche. Una volta che tali modifiche sono state fatte, una versione riveduta del contenuto dovrebbe essere unita nel tronco, ma invece di potatura il vecchio ramo, un tag avrebbe segnato la sua posizione originale, in modo tale che possano essere recuperati in caso di necessità.

Leggi anche: Linux creatore Linus Torvalds: Questo è ciò che mi spinge noci

Più al punto, Torvalds odiato CVS. Ma l’alternativa, egli aveva scelto per il mantenimento di Linux è un pezzo di software proprietario chiamato BitKeeper. Potrebbe essere stato il primo veramente scalabile content repository di sistema. Eppure possedeva le chiavi del suo regno, in particolare, i metadati che descrivono la storia dei contributi di un repository. Questo metadati è assolutamente fondamentale per la costruzione di un kernel del sistema operativo, ma era disponibile solo per BitKeeper utenti con licenza. BitKeeper estesa ad una licenza di Linux contribuenti su una sola base.

Quando un altro Linux collaboratore a quanto pare ha cercato di decodificare i metadati per se stesso-un atto che Torvalds avrebbe condannare pubblicamente — BitKeeper editore strappò la licenza, lasciando Torvalds a lottare con CVS, invece, o inventare un’alternativa.

Da centralizzato ad un repository distribuiti

Che alternativa, git, sarebbe steer chiaro di BitKeeper del repository centralizzato, optando invece per un modello distribuito. Un risultato di questo modello è che una moltitudine di collaboratori possono offrire i loro aggiornamenti ad un ramo senza alcuni arbitrariamente area di alta classe persona essendo dato “commit” — il diritto di dichiarare un contributo di “ufficiale”.

Leggi anche: Git: Un cheat sheet – TechRepublic

Come Torvalds ha detto un Google-sponsorizzato una conferenza nel Maggio 2007, il modello distribuito volutamente evita il tipo di politica che ha finito per distruggere i suoi sforzi con BitKeeper.

180702-github-01-linus-torvalds-2006.jpg
(Immagine:Google LLC)

“Dal momento che non si desidera a tutti di scrittura al repository centrale, perché la maggior parte delle persone sono idioti”, ha detto il suo pubblico, “la creazione di questa classe di persone che sono apparentemente non idioti. E la maggior parte delle volte ciò che accade è che la classe troppo piccolo, perché è davvero difficile sapere se una persona è intelligente o meno-e anche se si fanno troppo piccolo, non si avranno problemi. Quindi questo commit problema di accesso-che alcune aziende sono in grado di ignorare semplicemente dando a tutti l’accesso al commit-è un grande barriera psicologica, e le cause infinite ore di politica nella maggior parte dei progetti open source.”

Intenzionalmente o non, Torvalds architettonico decisione è stato il catalizzatore per il movimento che ha trasformato open source da una rivoluzione in uno stabilimento. “Apertura”, non fece mai il senso di una comunità con un arcani maggiori gerarchia organizzativa rispetto alla media corporation. Con l’aiuto di una distribuzione di repository modello, qualsiasi persona, anche un anonimo — potrebbe richiedere un fork di un progetto esistente, e contribuire con le modifiche necessarie per rendere la forcella suo.

La firma in

Cosa GitHub contribuisce a questa immagine sono questi importanti componenti:

Il quadro sociale per il coordinamento della git tra più utenti; Un sistema di base di identità per i singoli contribuenti (in contrasto con la loro datori di lavoro o loro progetti); Un sito web di base con cui presentare e spiegare il software (o altri contenuti) al mondo esterno; Il contesto per la realizzazione dei progetti integrati con l’integrazione continua (CI) pipeline di piattaforme come Travis CI, CircleCI, e Jenkins.

Una delle principali sfide che la comunità open-source di fronte durante i suoi anni formativi è stato, con una certa ironia, la mancanza di un comune, programmabile infrastruttura di tutti i suoi collaboratori. Sì, hanno avuto sistemi di gestione dei contenuti, ma non erano veramente nuvole, né essi sono sistemi progettati per la distribuzione e la distribuzione di software.

Leggi anche: Google exec dice che è OK Microsoft beccato GitHub – CNET

Anche se questo non può essere stato Torvalds’ intenzione originaria, l’associazione di git sviluppatori di Pc con GitHub sul web ha portato in un modo facile e automatizzato sistema in base al quale chiunque può partecipare a un massiccio progetto di collaborazione, anche senza invito. Qualsiasi GitHub membro può forcella open-source repository. Lei può quindi optare per clonare al suo PC in locale (il fork non è la stessa come la clonazione, nonostante alcuni tutorial frase di questa).

A quel punto, GitHub utente configura git quel repository. I cambiamenti che ti creerà nuove versioni del repository. Un tale cambiamento non fisicamente clonare l’intero repository, ma produrrà una nuova immagine che di fatto unisce le modifiche con l’originale. Lei può sperimentare facendo rami — vie evolutive che si discostano l’uno dall’altro, soprattutto per testare molti metodi per ottenere un risultato.

La richiesta di pull

L’atto di contributo — richiedere modifiche o (presumibilmente) i miglioramenti di essere impegnata o unite, sia a monte che a qualcun altro repository — è il processo che si può avere sentito parlare chiamato una richiesta di pull . Questo è il più importante processo sociale in tutto il sistema. Si tratta di un mezzo per un collaboratore di chiedere al proprietario di un altro repository — di solito il maintainer del progetto, di valutare le modifiche che lei ha fatto, e di accettare di loro e li fondono in proprio repository, o di rifiutare come meglio crede.

Leggi anche: Imparare a usare GitHub con GitHub Learning Lab

Esso non può essere una coincidenza che GitHub utilizza la sigla “PR” per fare riferimento a una richiesta di pull (noi giornalisti immediatamente pensare significa “comunicato”). Un galateo ha formò intorno il metodo corretto per l’introduzione di una richiesta di pull per la comunità, in particolare per rendere più attraente di una richiesta di contatto su LinkedIn. Gli utenti sono stati invitati a essere più amichevole, più convincente, più — per coniare una frase, — “open” in merito alla volontà dei cambiamenti che stanno cercando di fare. È uno sforzo per mantenere l’elemento umano del processo open source, anziché dare per scontato che le persone sono altrettanto bene con plain vanilla di automazione.

180702-github-03-conference.jpg
(Immagine: GitHub Inc.)

“Tirare le richieste possono accadere in qualsiasi flusso di lavoro che si usano ogni volta che si desidera incorporare le modifiche nel codice di base”, ha spiegato GitHub allenatore Eric Hollenberry (nella foto a destra, in alto) nel corso di una il 2016 convegno compagnia, per un partecipante e GitHub membro che non sa tirare le richieste esistito. “Una richiesta di pull, per definizione, è una conversazione intorno a un cambiamento. Si crea quella conversazione a qualunque punto si potrebbe utilizzare in un flusso di lavoro, e quindi il risultato finale sarebbe una modifica che si uniscono in, alla fine.”

La finestra Mobile fattore di

Il potere di GitHub per galvanizzare un’ampia raccolta di collaboratori, ha raggiunto una massa critica, con l’introduzione di containerizzazione. Prima della standardizzazione dei contenitori Docker, il mezzo principale per la condivisione di codice online è stato attraverso un comune formato di compressione come il TAR o ZIP. C’erano script automatici ovunque per il recupero e mettendo i contributi e per la messa in scena. Ma “ovunque” è un luogo difficile da controllare e gestire. Alcuni SourceForge utenti adottato plugin per i loro rispettivi ambienti di sviluppo (loro Ide), come Eclipse. E questi plugin sarebbe standardizzate dopo una moda, ma solo rispetto al coloro Idi.

Come un formato di file, la finestra Mobile contenitore è nulla di particolarmente nuovo o nuovo. Esso utilizza una forma di compressione ZIP (basato su Lempel-Ziv) che è così vicino che UNZIP utility può dare un senso di esso. Ma è il contenuto del contenitore che erano tanto rivoluzionari, in particolare l’inclusione di una cosa chiamata Dockerfile . È una sorta di manifesto con le istruzioni su come comporre e distribuire il software all’interno del contenitore. Tali istruzioni possono essere eseguite automaticamente dalla finestra Mobile proprio Comporre utilità, e che include le istruzioni su come acquisire, decomprimere, e distribuire tutti gli altri componenti su cui il software si basa, senza dover includere nel pacchetto contenitore. Quelle istruzioni non coinvolgere i repository, e la finestra Mobile Inc.’s proprio è chiamato Mobile Hub.

Leggi anche: che Cos’è Mobile e perché è così maledettamente popolare?

Il Dockerfile riempito una grossa lacuna nel processo di automazione per GitHub e altri repository online di sistemi basati su git. Invece di basarsi su script di propria ideazione (o, per assurdo, di nuovo, che avevano condiviso con un altro) per stage e distribuire il loro software, come SourceForge gli utenti hanno avuto a che fare, erano impiegati significa che ognuno può liberamente adottare. Questo software raggiunto attraverso pull richieste sia utilizzabile e verificabili, isolato in un contesto che non sarebbe interferire con altri software, tra le altre tirare le richieste.

Che gli amministratori di progetti open-source, infine, ha avuto a loro disposizione uno strumento con cui sono stato in grado di valutare e approvare il lavoro di altri, e il maresciallo il processo di commettere il loro lavoro a monte, senza dover pensare al processo molto.

Business case

Altrove

Open Source Devs, Diffidare di Microsoft in Attesa di GitHub Acquisizione, si Consideri un ‘Piano B’ da Scott M. Fulton, III, Il Nuovo Stack Come Microsoft Forgiato Scalabile Git per Gestire al Meglio lo Sviluppo di Windows da Joab Jackson, Il Nuovo Stack GitHub: Conto di Installazione e Configurazione — Capitolo 6.1 del Pro Git da Scott Chacon e Ben Straub, pubblicato da Apress, ma liberamente pubblicati online

Storie correlate

Microsoft sfida con GitHub: Superare la sua pastGitHub: la Nostra dipendenza scansione ha trovato quattro milioni di securityGitHub dice bug esposto alcune password in chiaro

Argomenti Correlati:

zdnet_topic.correlati.esecutivo-guide

Enterprise Software

Open Source

Mobile OS

0