Descrizione del problemaCome prevenire la sovrascrittura di artefatti rilasciati (versioni non snapshot) nel repository Maven on Hudson
Si consideri il caso Maven viene utilizzato on Hudson.
Ora qualcuno ha eseguito il checkout di un progetto, ha modificato alcuni file ma ha utilizzato accidentalmente lo stesso id artefatto e il numero di versione (non istantanea).
Lui/Lei quindi ha costruito questo progetto su hudson e ha fatto l'installazione di maven. L'artefatto modificato è ora in hudson .m2. Qualsiasi altro progetto che dipende da esso sarà costruito con artefatto modificato. Nessuno lo trova se la compilazione non fallisce. Anche se l'artefatto corretto risiede nel repository centrale, non viene mai usato perché uno modificato viene prelevato da .m2 quando hudson inizia a costruire.
Quindi sto cercando un modo per prevenire questo errore umano accidentale.
- In ogni caso per revocare le autorizzazioni di installazione di Maven su versioni non di istantanee (artefatti rilasciati) su hudson?
- Un modo per confrontare i checksum di .m2 in hudson e su nel repository centrale remoto in modo che gli errori di checksum possano generare avvisi o errori di compilazione?
Ho già controllato che non è possibile forzare l'aggiornamento delle versioni di non snapshot dal repository centrale poiché sono destinate a essere immutabili.
L'eliminazione del repository centrale o l'utilizzo di un repository separato per ogni lavoro su hudson comporterà rispettivamente un aumento dei tempi di build di spazio su disco &.
Qualsiasi aiuto sarebbe apprezzato.
Ho già gestito le autorizzazioni di implementazione in artefatto. Ma ciò non aiuta perché se un repository sovrascritto è presente nel repository .m2 e un progetto dipendente è costruito su hudson, Maven sceglie sempre artefatto da .m2 invece del server repository. Non c'è modo di forzare il download di un artefatto in hudson o verificare che gli artefatti del meteo .m2 siano sincronizzati con il server del repository. – Aman