Я запускаю Dockerized Nexus Repository Manager v2.13.0-01. У меня есть артефакты в репозитории снимков, которые я хочу удалить с помощью Remove Snapshots
запланированной задачи. Мои параметры для этой запланированной задачи следующие.
- Репозиторий / Группа: Снимки (Репо)
- Минимальное количество снимков: 1
- Хранение снимков (дней): 1
- Удалить, если выпущено: (не отмечено)
- Льготный период после выпуска (дни): 1
- Удалить немедленно: (отмечено)
Когда я запускаю эту задачу, я ожидаю, что будет сохранен как минимум 1 снимок, а все остальные снимки старше 1 дня будут удалены. Когда я нахожусь на вкладке Browse Storage
, я замечаю, что все файлы .jar
+ .pom
удаляются, включая связанные файлы .md5
и .sha1
. Например, удаляются следующие файлы.
- мой-артефакт-0.0.1-20160705-020817-5-javadoc.jar
- мой-артефакт-0.0.1-20160705-020817-5-javadoc.jar.md5
- мой-артефакт-0.0.1-20160705-020817-5-javadoc.jar.sha1
- мой-артефакт-0.0.1-20160705-020817-5-sources.jar
- мой-артефакт-0.0.1-20160705-020817-5-sources.jar.md5
- мой-артефакт-0.0.1-20160705-020817-5-sources.jar.sha1
- мой-артефакт-0.0.1-20160705-020817-5.pom
- мой-артефакт-0.0.1-20160705-020817-5.pom.md5
- мой-артефакт-0.0.1-20160705-020817-5.pom.sha1
- мой-артефакт-0.0.1-20160705-020817-5.jar
- мой-артефакт-0.0.1-20160705-020817-5.jar.md5
- мой-артефакт-0.0.1-20160705-020817-5.jar.sha1
Однако связанные хэши .asc
, .asc.md5
и .asc.sha1
НЕ удаляются. Например,
- мой-артефакт-0.0.1-20160705-020817-5.jar.asc
- мой-артефакт-0.0.1-20160705-020817-5.jar.asc.md5
- мой-артефакт-0.0.1-20160705-020817-5.jar.asc.sha1
Ниже приведены 2 плагина maven, которые я использую для публикации в моем репозитории SNAPSHOT в папке pom.xml
.
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<version>1.6</version>
<executions>
<execution>
<id>sign-artifacts</id>
<phase>verify</phase>
<goals>
<goal>sign</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.sonatype.plugins</groupId>
<artifactId>nexus-staging-maven-plugin</artifactId>
<version>1.6.7</version>
<extensions>true</extensions>
<configuration>
<serverId>mycompanynexus</serverId>
<nexusUrl>http://nexus.mycompanynexus.io/</nexusUrl>
<autoReleaseAfterClose>true</autoReleaseAfterClose>
</configuration>
</plugin>
Мой раздел управления распространением в pom.xml
выглядит следующим образом.
<distributionManagement>
<snapshotRepository>
<id>mycompanynexus</id>
<url>http://nexus.mycompanynexus.io/content/repositories/snapshots/</url>
</snapshotRepository>
<repository>
<id>mycompanynexus</id>
<url>http://nexus.mycompanynexus.io/content/repositories/releases/</url>
</repository>
</distributionManagement>
Не показан мой settings.xml
, где я предоставляю учетные данные для публикации в этих репозиториях.
При развертывании я просто набираю mvn clean deploy
с Maven v3.3.9.
Когда я искал решения, я наткнулся на это сообщение в блоге http://blog.sonatype.com/2010/01/how-to-generate-pgp-signatures-with-maven/, однако я не знаю, согласен ли я с не подписывать мои артефакты SNAPSHOT (поскольку, если бы я этого не сделал, то подписи и контрольные суммы GPG не были бы созданы, и мне не пришлось бы беспокоиться об их удалении с помощью запланированной службы). Более того, руководство OSSRH иллюстрирует подписание артефактов SNAPSHOT. Может быть, это стандартная практика - НЕ подписывать артефакты SNAPSHOT?
Любая помощь приветствуется.