Question

Lorsque je configure le scmchangelog-plugin, comme il est écrit dans les exemples / tutoriel, et exécuter la génération du site, le nom d'utilisateur et mot de passe que j'ai mis sont ignorés.

La documentation indique que le nom d'utilisateur et mot de passe qui doit être utilisé pour accéder au SCM peuvent être configurés dans le plugin configuration. Cela ressemble à ceci:

<reporting>
 <plugins>
  <plugin> 
   <groupId>org.codehaus.mojo</groupId>
   <artifactId>scmchangelog-maven-plugin</artifactId>
   <version>1.3</version>
   <configuration>
    <grammar>REMY</grammar>
    <connectionUrl>scm:svn:svn+ssh://repo.lan/repo/project/trunk</connectionUrl>
    <username>user</username>
    <password>password</password>
   </configuration>
  </plugin>
 </plugins>
</reporting>

Quand je lance la génération du site (site mvn), la sortie sur la ligne de commande dit

[INFO] Executing: /bin/sh -c cd /tmp && svn --username user --password '*****' 
--non-interactive list --xml svn+ssh://repo.lan/repo/project/tags/

Mais je suis toujours invité à entrer le mot de passe et l'utilisateur utilisé pour accéder au SCM est celui qui exécute la commande mvn.

Toutes les idées ce qui pourrait être mal?

Mise à jour:

Je traqué le problème au client de ligne de commande svn maintenant.

le problème est que, lorsque i exécuter une commande telle que la suivante

svn list --username foo --password bar --non-interactive svn+ssh://host/repo/project

l'outil de ligne de commande semble ignorer les options disponibles. Je suis toujours interrogé pour un mot de passe, et l'utilisateur utilisé pour accéder à l'URL est celui qui exécute la commande, et non celui défini dans les options.

J'utilise la version svn 1.4.6 ici.

toutes les idées ce qui pourrait mal tourner ici?

Était-ce utile?

La solution

Ceci est un bug connu . Le comportement correct serait de montrer une erreur qui indique que les options de --username et --password ne sont pas pris en charge lors de l'utilisation d'un mécanisme d'authentification externe comme SSH, au lieu d'ignorer silencieusement ces options.

Pour résoudre votre problème, passez votre nom d'utilisateur « foo » dans le cadre de l'URL:

svn+ssh://foo@host/repo/project

et utiliser quelque chose comme ssh-agent pour mettre en cache vos informations d'identification, évitant ainsi l'invite de mot de passe .

Autres conseils

Voulez-vous dire l'objectif scm:changelog du Maven SCM plug-in ? Si tel est le cas, vous avez deux choix pour assurer la SCM est transmis vos informations d'identification.

approche préférée

Certains fournisseurs de SCM vous permettent de spécifier un fichier de paramètres ci-dessous M2_HOME / conf / .scm, par exemple Subversion est de svn-settings.xml et est cvs-settings.xml de CVS

Votre fournisseur SMC devrait définir comment définir les paramètres de configuration. Pour Subversion je me retrouve avec un fichier comme ceci:

<svn-settings>
  <user>[username]</user>
  <password>[password]</password>
</svn-settings>

Si nécessaire, vous pouvez spécifier le fichier de paramètres SCM dans un autre emplacement en passant un paramètre de ligne de commande du fichier:

-Dmaven.scm.svn.config_directory=your_configuration_directory

Autre approche

L'autre option (indésirable) consiste à configurer la section scm du POM afin que les urls contiennent le nom d'utilisateur et mot de passe. La mise en œuvre de c'est spécifique au fournisseur, mais est généralement d'une forme similaire à cet exemple pour Subversion:

scm:svn:http://[user]:[password]@host/path

Ainsi, votre section scm dans le POM ressemblerait à quelque chose comme ceci:

<scm>
  <connection>scm:svn:http://[user]:[password]@host/path</connection>
  <developerConnection>
    scm:svn:http://[user]:[password]@host/path
  </developerConnection>
  <url>http://somerepository.com/viewsvn</url>
</scm>

Ceci est évidemment indésirable que vos informations d'identification SCM finissent dans votre installation POM, vous devez vraiment utiliser seulement cela pour tester la connexion à mon avis. Pour plus d'informations, consultez la page URL SCM Format et les détails pour spécifiques < a href = "http://maven.apache.org/scm/scms-overview.html" rel = "nofollow noreferrer"> les fournisseurs de SCM

Vérifiez s'il y a un alias de votre utilisation de démolir la commande « svn ».

Vérifiez également si l'hôte de destination permet le mot de passe en mode authentification. Pourrait également être utile de vérifier que le bureau ne plaisante pas avec certains « agent keyring » à portée de main, ceux qui peuvent interférer avec svn + ssh.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top