Je cours un Nexus Repository Manager dockerized v2.13.0-01. J'ai des artefacts dans le référentiel Snapshot que je veux supprimer en utilisant la tâche planifiée Remove Snapshots
. Mes paramètres pour cette tâche planifiée sont les suivants.La tâche planifiée Supprimer les instantanés de Nexus Repository Manager ne nettoie pas les fichiers de signature GPG associés à l'artefact horodaté.
- Repository/Groupe: instantanés (repo)
- de comptage instantané minimum: 1
- rétention des clichés (jours): 1
- Retirez si elle est rejetée: (non cochée)
- Délai de grâce après la libération (jours): 1
- Supprimer immédiatement: (vérifié)
Quand je lance cette tâche, je suis e xpectant au moins 1 instantané à conserver et tous les autres instantanés de plus de 1 jour à supprimer. Ce que je remarque lorsque je suis sur l'onglet Browse Storage
, c'est que tous les fichiers .jar
+ .pom
sont en train d'être supprimés, y compris les fichiers .md5
et .sha1
associés. Par exemple, les fichiers suivants sont supprimés.
- my-artefact-0.0.1-20160705-020817-5-javadoc.jar
- my-artefact-0.0.1-20160705-020817-5-javadoc.jar.md5
- my- artefact-0.0.1-20160705-020817-5-javadoc.jar.sha1
- my-artefact-0.0.1-20160705-020817-5-sources.jar
- my-artefact 0.0.1-20160705- 020817-5-sources.jar.md5
- my-artefact-0.0.1-20160705-020817-5-sources.jar.sha1
- my- artefact 0.0.1-20160705-020817-5.pom
- my-artefact 0.0.1-20160705-020817-5.pom.md5
- my-artefact 0.0.1-20160705-020817-5. pom.sha1
- my-artefact 0.0.1-20160705-020817-5.jar
- my-artefact 0.0.1-20160705-020817-5.jar.md5
- my-artefact-0.0. 1-20160705-020817-5.jar.sha1
Cependant, l'associé .asc
, .asc.md5
et .asc.sha1
hash sont PAS en cours de suppression. Par exemple,
- my-artefact 0.0.1-20160705-020817-5.jar.asc
- my-artefact 0.0.1-20160705-020817-5.jar.asc.md5
- my-artefact 0.0.1-20160705-020817-5.jar.asc.sha1
Voici les 2 plugins Maven que j'utilise pour publier mon logithèque dans le 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>
Ma section de gestion de la distribution dans le pom.xml
ressemble à ce qui suit.
<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>
Non indiqué est ma settings.xml
où je fournir les informations d'identification pour la publication de ces référentiels.
Lorsque je déploie, je tape simplement mvn clean deploy
avec Maven v3.3.9.
Comme j'Interrogation des solutions, je suis tombé sur ce billet de blog http://blog.sonatype.com/2010/01/how-to-generate-pgp-signatures-with-maven/, cependant, je ne sais pas si je suis d'accord avec pas signer mes artefacts snapshots (car si je ne l'ai pas, alors les signatures GPG et les sommes de contrôle ne seraient pas produites et je n'aurais pas à m'inquiéter de les supprimer avec le service planifié). De plus, les directives de l'OSSRH illustrent la signature d'artefacts SNAPSHOT. Peut-être que est pratique courante de ne pas signer les artefacts SNAPSHOT?
Toute aide est appréciée.