كيفية وقف Maven / artifactory من حفظ اللقطات مع الطوابع الزمنية

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

سؤال

بسبب اعتبارات مساحة القرص، أود فقط الاحتفاظ بإصدار واحد من أي لقطة في مستودعي. بدلا من الحفاظ على إصدارات متعددة مع لاحقات الطابع الزمني

على سبيل المثال التجارة الإلكترونية -23-20090806.145007-1.ear

كيف يمكنني ضبط هذا؟ هل هذا إعداد بناء أو مستودع (Artifactory) الإعداد

شكرا!

هل كانت مفيدة؟

المحلول

أبسط (و مستحسن) طريقة لاستخدام اللقطات غير الفريدة. إذا كان يجب عليك استخدام لقطات فريدة من نوعها، فيمكنك القيام بذلك في القذر من خلال تحديدu003CmaxUniqueSnapshots> الممتلكات فيu003ClocalRepository> تعريف في 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>

للإشارة التي يمكنك القيام بذلك في نيكزس (عبر UI) عن طريق إعداد الخدمة المجدولة, ، يسمح لك بتحديد الحد الأدنى للاحتفاظ، والفترة القصوى للاحتفاظ بها، وما إذا كان سيتم إزالة اللقطة إذا تم نشر إصدار الإصدار.

نصائح أخرى

لاحظ أن هذه الميزة / القدرة / القدرة قد تمت إزالتها في 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). يمكنك قراءة المزيد حول هذا الأمر، وكذلك ميزة التنظيف التلقائي هنا.

<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