2013年3月27日水曜日

mavenと認証設定済みのnexusの連携

認証設定をしたnexusサーバーにpom.xml経由でjarの取得、もしくは登録を行いたい場合、~/.m2/settings.xml に以下のような設定を記載する必要があります。
 <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLoc    ation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
     <servers>
         <server>
             <id>hoge</id>
             <username>fuga</username>
             <password>password</password>
         </server>
</settings>
idの部分に、pom.xmlでserver情報を一意に特定するためのサービスID(任意)を設定します。usernameならびにpasswordはnexusで使用するID・passwordです。

pom.xmlで管理しているプロジェクトのjarを"mvn deploy"でnexusに登録したい場合は、pom.xmlに以下のような記述を記載します。
 <distributionManagement>
      <repository>
           <id>hoge</id>
           <url>http://nexus.hoge.jp/content/repositories/releases</url>
      </repository>
 </distributionManagement>
上記pom.xmlのid"hoge"と、settings.xml中のid"hoge"は対応しています。ですので上記URLに接続する際、認証が求められた場合はsettings.xmlに記載した認証情報を元に接続をすることになります。

nexus上のrepositoryを取得したい場合は以下です。
 <repositories>
    <repository>
       <id>hoge</id>
       <url>http://nexus.hoge.jp/nexus/content/repositories/releases</url>
    </repository>
 </repositories>

ローカルPCの開発環境で上記設定を行う場合は、ログインしているユーザーの~/.m2/settings.xml を編集すればOKです。
jenkinsなどサーバー環境で設定が必要な場合は、たとえばjenkinsの場合はjenkins serverの実行ユーザーのsettings.xmlを、サーバー上で直接編集してあげる必要があります。

また、ID・パスワード認証以外の方法...たとえば公開鍵認証方式...でサーバーに接続する場合は、以下のmanualの内容を参考にしてください。
http://maven.apache.org/settings.html#Servers



0 件のコメント:

コメントを投稿