Domanda

Per motivi di spazio su disco, vorrei conservare sempre e solo una versione di qualsiasi snapshot nel mio repository.Piuttosto che mantenere più versioni con suffissi timestamp

per esempio.ecommerce-2.3-20090806.145007-1.ear

Come posso impostarlo?Si tratta di un'impostazione di build o di un'impostazione del repository (Artifactory).

Grazie!

È stato utile?

Soluzione

Il più semplice (e consigliato ) modo è quello di utilizzare gli snapshot non univoci . Se è necessario utilizzare le istantanee uniche, è possibile farlo in Artifactory specificando la proprietà sulla definizione in artifactory.config.xml

Ad esempio:

<localRepository>
  <key>snapshots</key>
  <blackedOut>false</blackedOut>
  <handleReleases>false</handleReleases>
  <handleSnapshots>true</handleSnapshots>
  <maxUniqueSnapshots>1</maxUniqueSnapshots>
  <includesPattern>**/*</includesPattern>
  <snapshotVersionBehavior>non-unique</snapshotVersionBehavior>
</localRepository>

Come riferimento si può fare questo in Nexus (tramite interfaccia utente) attraverso la creazione di un servizio di linea , permette di specificare il numero minimo di mantenere, il periodo massimo di conservare loro per, e se rimuovere l'istantanea se una versione di rilascio viene distribuito.

Altri suggerimenti

SI NOTI CHE QUESTA FUNZIONE/FUNZIONE È STATA RIMOSSA IN MAVEN 3.0

Aggiungi semplicemente qualcosa alla mia domanda:

Aggiunta

<distributionManagement>
    ...
    <snapshotRepository>
        ...
        <uniqueVersion>false</uniqueVersion>
    </snapshotRepository>
    ...
</distributionManagement>

ai miei genitori pom ha contribuito anche alla soluzione di questo.

Vedere:

http://i-proving.com/space/Jessamyn+Smith/blog/2008-06-16_1

Per modificare le impostazioni univoche sul repository in Artifactory, accedi come amministratore e seleziona Modifica sul repository pertinente: screenshot qui:

http://wiki.jfrog.org/confluence/display/RTF/Understanding+Repositories

Artifactory può pulire vecchie istantanee uniche. Tuttavia, abbiamo trovato le istantanee uniche ad essere non utile ai fini di rintracciare dipendenze o rolling-back a una versione specifica. Ci sono alternative migliori per fare questo, che sono più puliti e più affidabili. Questo è il motivo di default Artifactory a preferire le istantanee non univoci, e questa politica può essere centrale controllata (che è unica per Artifactory). Si può leggere di più su questo, così come la funzione di auto-pulizia qui .

<plugin>         
                    <groupId>org.codehaus.mojo</groupId>         
                    <artifactId>build-helper-maven-plugin</artifactId>         
                    <version>1.7</version>         
                    <executions>           
                        <execution>             
                            <id>remove-old-artifacts</id>             
                            <phase>package</phase>             
                            <goals>               
                                <goal>remove-project-artifact</goal>             
                            </goals>            
                            <configuration>  
                                <removeAll>true</removeAll><!-- When true, remove all built artifacts including all versions. When false, remove all built artifacts of this project version -->             
                            </configuration>          
                        </execution>         
                    </executions>       
                </plugin>

Utilizzando istantanee non univoci non è un buon modo per andare. Invece ottenere un repository manager in grado di ripulire istantanee e configurare che per mantenere lo spazio su disco verso il basso. Avere le istantanee timestamped rende molto più facile rintracciare i problemi dal momento che si può facilmente vedere quale versione effettivamente in uso.

non funziona in Maven 3 come è stato citato da Apache seguente

It's not recommended to use non-unique snapshots since they lead to non-reproducible builds. The main use case for these was to save disk space in the repository, but this is best handled by scheduling a periodic snapshot removal task to keep the number of versions down
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top