Da quanto ho capito, il processo di distribuzione consiste in questi passaggi.
Compilazione, linking / packaging, distribuzione.
A cosa si riferisce la confezione? è solo un riferimento al raggruppamento dei file oggetto insieme?
Packaging significa packaging.
Innanzitutto, progetta il tuo progetto. Cosa deve fare? Come lo farà? Chi ce la farà? E quando?
Quindi progetta il sistema. Un sacco di diagrammi. E documentazione!
Quindi implementalo . È tempo di codifica, batman.
Ora puoi costruirlo . In alcune lingue / paradigmi, ciò significa compilare e collegare. In altri, questo potrebbe effettivamente essere un passo vuoto. Ad esempio, potresti voler distribuire uno script Python così com'è.
Quindi, estrai i file distribuibili / eseguibili / documentazione / risorse dalla tua directory di costruzione / area di staging e inseriscili in qualsiasi entità che invierai effettivamente ai tuoi utenti. Che si tratti di un file di archivio o di un programma di installazione autoestraente o di un'immagine CD (ISO) o di un Red Hat RPM o di un file di pacchetto Debian o di un DVD fisico o di un filamento di DNA appositamente sequenziato impiantato sul genoma di un sfortunato piccione viaggiatore, o ... qualunque cosa. Questo è packaging . Anche in questo caso, questo potrebbe essere un passaggio vuoto, se hai un solo file eseguibile e devi solo portarlo a qualcuno così com'è.
Il tuo prodotto confezionato viene quindi distribuito , sia trasmettendolo digitalmente, sia inviandolo nel post su floppy disk, oppure inviandolo su una chiavetta USB con il tuo ingegnere per eseguire un servizio gratuito installazione sul posto, o ...
Sì. Ad esempio con un'applicazione nodejs uno sviluppatore scaricherà le varie dipendenze e le compilerà dal sorgente (l'unico comando npm install
lo farà per tutte le dipendenze, a patto che nessuno sia troppo strano). Tuttavia, quando si implementa in ambiente selvaggio, lo sviluppatore raggruppa probabilmente tutti i file che ha scaricato in un tarball o qualcosa di più elaborato. In questo modo l'utente finale non ottiene tutti i file e non deve aver installato git.
Il nodo è un linguaggio di scripting, ma i concetti sono praticamente gli stessi ovunque, per quanto ho visto.
Leggi altre domande sui tag deployment