Come regola generale, non memorizzi le risorse artefatti nel tuo sistema di controllo della versione, perché dovresti essere in grado di ricostruirle dall'origine, se necessario.
Un'alternativa è caricare i tuoi artefatti in una posizione nota, che può essere sottoposta a backup (o qualcosa come Amazon S3, che ha spazio di archiviazione ridondante). Un'altra alternativa, di solito migliore, è utilizzare un gestore di repository, come Nexus .
In pratica, se si dispone di un sistema di controllo della versione centralizzato, non importa se si memorizzano le risorse nel repository o meno, a condizione di strutturare il VCS in modo che gli utenti non debbano scaricarlo. Con Subversion, ad esempio, puoi avere un albero separato per gli artefatti (insieme a trunk / branches / tags).
Tuttavia, se si utilizza un VCS distribuito, come Git, sicuramente non desidera memorizzare gli artefatti nel repository. Il motivo è che scarichi il repository intero con Git, incluse tutte le versioni obsolete di tutti i file. Ciò può richiedere un tempo spiacevolmente lungo anche se contiene solo il codice sorgente (prova ad esempio l' SDK Java AWS per esempio ).