-
Notifications
You must be signed in to change notification settings - Fork 2
publish to central
#Comment publier sur central.sonatype.org !!!
Je rajoute cette page, pas que la procédure soit dur, mais bon pas des plus imple non plus.
Maven Java git
Pour git setter les info du user et supprimer le sslVerify
git config --global http.sslVerify false
git config --global user.email "your@email.com"
git config --global user.name "pseudo"
##Créer un ticket sur Sonatype
Sonatype uses JIRA to manage requests.
Dans le ticket :
- préciser le groupId du projet pour moi ####org.ocelotds Ce groupid correspond au nom de domaine que je possede
- renseigner l'url du SCM pour moi : ocelot
- renseigner l'url du site du projet, je mets le wiki.
- renseigner le username qui va publier les artifacts (le compte JIRA créé précédemment)
Après cela l'admin va surement vous poser quelques questions pour compléter, par exemple donner la visibilité du whois de votre nom de domaine. les ".fr" sont par défaut en anonyme.
Enfin un post vous confirmera que la publication a été activée.
Pour pouvoir etre publier sur le repo les artifacts doivent être signé. Pour ce faire on doit installer gnupg
gpg --gen-key
Bien noter la passphrase
gpg --list-keys
gpg --keyserver hkp://pgp.mit.edu --send-keys IDENTIFIANTKEYPUB
OK, a ce stade le plus dur est fait....
Il faut maintenant paramétrer le pom du projet que vous voulez publier.
<description>Framework for communication way between java and javascript</description>
<url>https://github.com/ocelotds/ocelot</url>
<developers>
<developer>
<name>François Achache</name>
</developer>
</developers>
<licenses>
<license>
<name>Mozilla Public License 2.0</name>
<url>http://mozilla.org/MPL/2.0/</url>
</license>
</licenses>
<properties>
<project.scm.id>ocelotds</project.scm.id>
</properties>
<scm>
<connection>scm:git:https://github.com/ocelotds/ocelot.git</connection>
<developerConnection>scm:git:https://github.com/ocelotds/ocelot.git</developerConnection>
<url>git@github.com:ocelotds/ocelot.git</url>
</scm>
<distributionManagement>
<snapshotRepository>
<id>ossrh</id>
<url>https://oss.sonatype.org/content/repositories/snapshots</url>
</snapshotRepository>
<repository>
<id>ossrh</id>
<url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
</repository>
</distributionManagement>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.10.3</version>
<executions>
<execution>
<id>attach-javadocs</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>2.4</version>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
plugin gpg pour signer les artifacts plugin gnupg
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<version>1.5</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.3</version>
<extensions>true</extensions>
<configuration>
<serverId>ossrh</serverId>
<nexusUrl>https://oss.sonatype.org/</nexusUrl>
<autoReleaseAfterClose>true</autoReleaseAfterClose>
</configuration>
</plugin>
Il faut maintenant paramétrer maven via le settings.xml
Ce fichiers en fonction de l'os peut être à plusieurs endroits différents, le plus simple étant de modifier celui dans le répertoire d'installation de maven (repertoire conf)
<servers>
<server>
<id>ossrh</id>
<username>user_jira</username>
<password>motdepasse_jira</password>
</server>
<server>
<id>hhdevelopment</id>
<username>user_scm</username>
<password>motdepasse_scm</password>
</server>
</servers>
<profiles>
<profile>
<id>ossrh</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<gpg.executable>/chemin/dinstallation/gnupg/gpg2</gpg.executable>
<gpg.passphrase>lafameusepassephrase</gpg.passphrase>
</properties>
</profile>
</profiles>
Voilà normalement tout est fait à ce stade plus qu'a tester.
Aller dans le répertoire du projet que l'on veut publier. puis
/pathmaven/mvn -DskipTests=true deploy
puis :
/pathmaven/mvn release:clean release:prepare
Valider les réponses sur les version puis :
/pathmaven/mvn release:perform