Как запретить Maven/Artifactory сохранять снимки с временными метками

StackOverflow https://stackoverflow.com/questions/1243574

Вопрос

Из соображений дискового пространства я бы хотел хранить в своем репозитории только одну версию любого снимка.Вместо того, чтобы хранить несколько версий с суффиксами временных меток.

напримерэлектронная коммерция-2.3-20090806.145007-1.ear

Как я могу это настроить?Это настройка сборки или настройка репозитория (Artifactory)?

Спасибо!

Это было полезно?

Решение

Самый простой (и рекомендуемые) способ — использовать неуникальные снимки.Если вам необходимо использовать уникальные снимки, вы можете сделать это в Artifactory, указав свойство <maxUniqueSnapshots> в определении <localRepository> в Artifactory.config.xml.

Например:

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

Для справки вы можете сделать это в Нексус (через пользовательский интерфейс), настроив плановое обслуживание, он позволяет вам указать минимальное количество для хранения, максимальный период их хранения и необходимость удаления моментального снимка, если развернута релизная версия.

Другие советы

ОБРАТИТЕ ВНИМАНИЕ, ЧТО ЭТА ФУНКЦИЯ/ВОЗМОЖНОСТЬ БЫЛА УДАЛЕНА В MAVEN 3.0.

Просто добавьте что-нибудь к моему собственному вопросу:

Добавление

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

моему родителю помпон также способствовал решению этой проблемы.

Видеть:

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

Чтобы изменить уникальные настройки репозитория в Artifactory, войдите в систему как администратор и выберите «Изменить» в соответствующем репозитории — снимок экрана здесь:

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

Artifactory может очистить старые уникальные снимки.Однако мы обнаружили, что уникальные снимки бесполезны для отслеживания зависимостей или отката к определенной версии.Для этого есть лучшие альтернативы, более чистые и надежные.Вот почему Artifactory по умолчанию предпочитает неуникальные снимки, и эту политику можно изменить. централизованно контролируемый (что уникально для Artifactory).Вы можете прочитать больше об этом, а также о функции автоматической очистки. здесь.

<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>

Использование неуникальных снимков — не лучший вариант.Вместо этого приобретите менеджер репозитория, который может очищать снимки и настраивать его для экономии места на диске.Наличие снимков с отметкой времени значительно упрощает отслеживание проблем, поскольку вы можете легко увидеть, какая версия на самом деле используется.

НЕ будет работать в Maven 3, как было процитировано Apache ниже.

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
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top