質問

私は scmchangelog・プラグインを構成する場合、実施例に記述されたように/チュートリアル、およびサイトの生成を実行し、私が設定したユーザ名とパスワードは無視されます。

ドキュメントには、SCMにアクセスするために使用されなければならないユーザー名とパスワードは、プラグイン構成で構成することができることを言います。これは、次のようになります:

<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>

私はサイト世代(MVNサイト)を実行すると、コマンドライン上の出力は言う。

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

しかし、私はまだ、パスワードの入力を求めてるとSCMへのアクセスに使用するユーザーは、MVN命令を実行しているものです。

間違っている可能性がどのような任意のアイデア?

アップデート:

私は今のsvnコマンドラインクライアントに問題を突き止めます。

問題は、私は次の

のようなコマンドを実行したときにということであり、
svn list --username foo --password bar --non-interactive svn+ssh://host/repo/project

コマンドラインツールは、与えられたオプションを無視しているようです。私はまだパスワードを疑問視していて、URLへのアクセスに使用するユーザーは、コマンドを実行し1、とされていないオプションで1セットです。

私は、ここでは、SVNのバージョン1.4.6を使用しています。

間違ってここに行くかもしれないものの任意のアイデア?

役に立ちましたか?

解決

これは既知のバグです。正しい動作は、SSHなどの外部認証メカニズムを使用して、代わりに黙ってそれらのオプションを無視するとき--username--passwordのオプションがサポートされていないことを示すエラーを表示するようになります。

あなたの問題を解決するには、URLの一部として、あなたの「foo」でユーザ名を渡します:

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

ので、パスワードプロンプトを避け、あなたの資格情報をキャッシュするためにのssh-agent のようなものを使用ます。

他のヒント

あなたは MavenのSCMプラグインするscm:changelog目標を意味しますか?この場合、あなたはSCMがあなたの資格情報を渡されたことを確認するには、2つの選択肢があります。

好ましいアプローチ

あなたはM2_HOME以下の設定ファイルを指定することを可能にする

いくつかの SCMプロバイダー/ confに/ .scm、例えばSubversionのsvnの-settings.xmlのであり、CVSのは、CVS-settings.xmlのです。

あなたのSCMプロバイダーは、構成設定を定義する方法を定義する必要があります。 Subversionのために私は、このようなファイルで終わるます:

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

必要な場合は、ファイルへのコマンドラインパラメータを渡すことによって、別の場所でのSCMの設定ファイルを指定することができます:

-Dmaven.scm.svn.config_directory=your_configuration_directory

その他のアプローチ

他の(望ましくない)オプションでは、URLがユーザ名とパスワードが含まれているように、POMのscmセクションを設定することです。この実装は、プロバイダ固有であるが、Subversionのために、この例とほぼ同様の形式である:

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

だから、POMであなたのSCMのセクションでは、このようになります

<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>

これはあなたのSCMの資格情報がインストールさPOMで終わるように、あなたが本当に唯一の私の意見では、接続をテストするためにこれを使用する必要があり、明らかに望ましくありません。詳細については、 SCMのURLフォーマットのページや特定の詳細を参照してください< href = "http://maven.apache.org/scm/scms-overview.html" のrel = "nofollowをnoreferrer"> SCMプロバイダーの

「SVN」コマンドの使用をつかう別名がありますかどうかをチェックします。

宛先ホストがパスワードモードの真偽を許可する場合も確認してください。また、これらはSVN + SSHを妨げることができ、デスクトップはいくつかの便利な「キーリング剤」と浮気しないことを確認する価値があるかもしれません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top