Ci sono alcune domande e risposte che menzionano " artificiali ".
Non sarei sorpreso se fosse in qualche modo legato ai manufatti .
Le mie domande :
- Cosa è in realtà un "artefatto" (nel contesto di DevOps)?
- Perché vengono utilizzati gli artefattori?
Ci sono alcune domande e risposte che menzionano " artificiali ".
Non sarei sorpreso se fosse in qualche modo legato ai manufatti .
Le mie domande :
Risposte:
Artifactory è un prodotto di JFrog che funge da gestore di repository binario . Detto questo molto spesso si userà un 'artefatto' come sinonimo del repository binario più generale, proprio come molte persone usano Frigidaire o frigorifero per indicare il frigorifero indipendentemente dal fatto che sia un marchio Frigidaire o meno.
Il repository binario è un'estensione naturale del repository di codice sorgente, in quanto memorizzerà il risultato del processo di compilazione, spesso indicato come artefatti. Il più delle volte non si usa direttamente il repository binario ma attraverso un gestore di pacchetti fornito con la tecnologia scelta.
Nella maggior parte dei casi, questi memorizzeranno i singoli componenti dell'applicazione che possono essere successivamente assemblati in un prodotto completo, consentendo così di spezzare una build in blocchi più piccoli, facendo un uso più efficiente delle risorse, riducendo i tempi di costruzione, miglior tracciamento dei database binari di debug ecc.
Ecco alcuni dei gestori di pacchetti più popolari che possono essere gestiti utilizzando un repository binario:
Questo elenco è tutt'altro che completo, dà solo un'idea di cosa c'è là fuori.
Il repository binario può consentire di ospitare tutti questi sotto lo stesso tetto, rendendo la loro gestione molto più semplice per i team. Si noti che non è necessario un team di dimensioni molto grandi per iniziare a raccogliere benefici dalla gestione dei pacchetti binari. L'investimento iniziale non è molto elevato e i benefici si avvertono immediatamente. Soprattutto ora che sempre più piattaforme, framework e linguaggi stanno integrando questa gestione delle dipendenze direttamente in essi. Il loro più grande vantaggio che ho trovato è stato quello di creare un ambiente che i tuoi programmatori troveranno naturale e confortevole rendendolo essenziale. Ti aiuta come sviluppatori a creare una solida catena di strumenti e li aiuta a far sì che l'esperienza complessiva si adatti naturalmente alla loro scelta.
Come ho detto prima, ci sono molti prodotti là fuori che possono fungere da gestori di pacchetti binari, alcuni più generici di altri nel loro uso di destinazione, variando anche ampiamente in termini di accessibilità e prezzi.
La mia opinione personale è che i repository binari sono una parte vitale di una configurazione devops ben progettata come il repository di codice sorgente o l'integrazione continua.
Il modo in cui mi ha aiutato a capire inizialmente, la differenza tra il repository di codice sorgente e il repository binario era di pensarlo come: * Github o Bitbucket è utile per mantenere tutto il 'codice' * Jfrog Artifactory è utile per mantenere il 'binario' almeno finché non mi sono sentito a mio agio con questi termini!
Inoltre, l'importanza di Artifactory può essere compresa in relazione alla filosofia di DevOps di "Costruire una volta, distribuire sempre". La integrazione continua del tuo binario fa una lunga strada, lo mette in Artifactory e poi lo chiama da lì per dispiegarlo in tutti i diversi ambienti. In questo modo, siamo sicuri che il codice che funziona in Dev è quello inviato a Prod e funzionerà lì.
Artifactory è un prodotto Binary Repository Manager di Jfrog .
Hai ragione: essendo un gestore di repository binario, viene in genere utilizzato per gestire l'archiviazione di artefatti generati e utilizzati nel processo di sviluppo del software.
Dalla pagina web principale di Artifactory :
Come primo e unico gestore di repository di artefatti universale sul mercato, JFrog Artifactory supporta pienamente i pacchetti software creati da qualsiasi linguaggio o tecnologia.
...
... Artifactory fornisce una soluzione end-to-end, automatizzata ea prova di proiettile per tracciare i manufatti dallo sviluppo alla produzione.
Gli usi che hai citato suggeriscono che potrebbe essere abbastanza popolare per un marchio generico in DevOps.
Penso che complicare le cose sia ciò per cui tutti stanno apprezzando al giorno d'oggi. Proverò a rispondere a questa domanda in breve.
Il repository di origine viene utilizzato per l'archiviazione del codice e delle sue versioni, mentre artifactory viene utilizzato per l'archiviazione dei programmi eseguibili che sono output di quel codice [file binari - dll, jar, war, ear, msi, file exe ecc]
Ora il motivo per cui vorresti metterli separatamente in un repository che è diverso dal tuo codice potrebbe essere molti: proprio da accesso sicuro, minaccia di hacking, check in di codice dannoso o semplicemente avere una strada separata per i clienti che hanno solo bisogno del binari.
La tecnologia di SCM avrebbe potuto divulgarsi nella creazione di 2 tipi di utenti (uno con privilegi di sviluppatore che sarà in grado di accedere al codice sorgente e un altro come client che sarà in grado di accedere solo ai binari). Ma non ha preso quella strada! Quindi ora abbiamo manufatti.
Un manufatto
È qualcosa che viene prodotto / generato / realizzato da un processo specifico
Jar fuori da una build del progetto Java.
Domanda fuori di testa
Auto fuori da una fabbrica
Nuova canzone
Un repository
È un ricettacolo in cui le cose persistono
Github per un progetto Java.
StackExchange per le tue domande scoraggianti
In teoria, un Artefatto - ORY sarebbe un deposito di manufatto in cui vengono mantenute e gestite in tutto il loro ciclo di vita.
Nel contesto di DevOps, Artifactory è un prodotto che gestisce artefatti binari. Memorizza e gestisce diversi tipi (pacchetti Jar, Python e npm, ecc ...) che produci dai tuoi build e riutilizzi in fase di compilazione o distribuzione.