Locked History Actions

Maven/Inhouse

社内リポジトリ(インハウスリポジトリ)の運用

社内リポジトリの作成

リポジトリディレクトリの作成とアーティファクトの登録

CentOS上に作成する。 ディレクトリは/var/maven2とする。 wagon-ftp等を使ってアーティファクトを登録する。 ディレクトリの構成は

var
 +- maven2
     +- jp
         +-- ...

などとなる。

インデクサのインストール

m2eclipse等から簡単にアーティファクトを検索できるように、インデックスを作成する。 まず、先の/var/maven2ディレクトリ中に.indexというディレクトリを作成する。

var
 +- maven2
     +- .index
     +- jp
         +-- ...

などという構成になる。この後は.indexディレクトリ中で作業する。

http://nexus.sonatype.org/downloads/から nexus-indexer-*.*.*.jarをダウンロードする。

gen-index.shというスクリプトファイルを作成し、次のように記述

cd /var/maven2/.index
java -jar nexus-indexer-3.0.4-cli.jar -i . -n MyRepository -r /var/maven2

このスクリプトをcronで定期的に実行するようにする。 例えば、5分ごとに実行すれば少なくとも5分以内に最新のインデックスになる。

settings.xmlの記述

<settings xmlns="http://maven.apache.org/POM/4.0.0"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
                      http://maven.apache.org/xsd/settings-1.0.0.xsd">
  <localRepository/>
  <interactiveMode/>
  <usePluginRegistry/>
  <offline/>
  <pluginGroups/>
  <mirrors>
    <mirror>
      <id>inhouseRepository</id>
      <name>My Inhouse Repository</name>
      <url>http://10.8.0.1:8001/maven2</url>
      <mirrorOf>central</mirrorOf>
    </mirror>
  </mirrors>
  <proxies/>
  <profiles/>
  <activeProfiles/>
</settings>