Concetti chiave per Azure Artifacts

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Immutabilità

Dopo aver pubblicato una determinata versione di un pacchetto in un feed, tale numero di versione è riservato in modo permanente. Non è possibile caricare un pacchetto di revisione più recente con lo stesso numero di versione oppure eliminarlo e caricare un nuovo pacchetto con lo stesso numero di versione.

Molti client di pacchetti, tra cui NuGet e npm, mantengono una cache locale dei pacchetti nel computer. Dopo che un client ha memorizzato nella cache una determinata versione del pacchetto, restituirà tale copia nelle richieste future di installazione/ripristino.

Se, sul lato server, si sostituisce una versione 1 del pacchetto con una nuova versione v2, il client non è in grado di indicare la differenza. Ciò può portare a risultati di compilazione indeterminato da computer diversi. Ad esempio, il computer di uno sviluppatore e l'agente di compilazione potrebbero avere memorizzato nella cache revisioni diverse del pacchetto, causando risultati di compilazione imprevisti.

Se un pacchetto è danneggiato, bug o condivide contenuti imprevisti (ad esempio segreti), l'approccio migliore consiste nel preparare una correzione e pubblicarla come nuova versione. A seconda della gravità del problema e del livello di dipendenza del pacchetto, è quindi possibile eliminare il pacchetto per renderlo non disponibile per l'utilizzo.

L'unico modo per aggirare il vincolo di immutabilità consiste nel creare un nuovo feed e pubblicare la versione del pacchetto desiderata nel nuovo feed.

Nota

I feed eliminati rimangono nel Cestino per 30 giorni e quindi vengono eliminati definitivamente. Il nome del feed diventa disponibile dopo l'eliminazione definitiva del feed.

Indicizzazione

Azure Artifacts mantiene un indice di tutti i pacchetti in ogni feed, che consente operazioni di elenco veloci. Le operazioni di elenco sulle condivisioni file richiedono al client di aprire ogni pacchetto ed esaminarne i metadati, a meno che la condivisione file non sia stata configurata per fornire un indice compreso dal client.

Ben formato

Azure Artifacts convalida tutti i pacchetti pubblicati per assicurarsi che siano ben formati. Ciò impedisce ai pacchetti non validi di immettere gli ambienti di sviluppo e compilazione. Tuttavia, qualsiasi flusso di lavoro che pubblica pacchetti in formato non valido verrà interrotto durante la migrazione ad Azure Artifacts.

Cestino

I pacchetti possono essere eliminati manualmente o configurando i criteri di conservazione per il feed. I pacchetti eliminati rimangono nel Cestino per 30 giorni e quindi vengono eliminati definitivamente. I proprietari del feed possono recuperare i pacchetti eliminati dal Cestino.