mavenのレポジトリとしては、

githubが使える。

ただし、githubだと、最新バージョンしか管理できないため、

ちょっと使いづらい。

 

maven公式にアップできないものもあるだろうから、

そんなときは、archivaを使うと良い。

https://archiva.apache.org/index.cgi

 

archivaをセットアップしたので、作業履歴を残しておく。

1.ダウンロード

$ wget http://ftp.riken.jp/net/apache/archiva/2.2.0/binaries/apache-archiva-2.2.0-bin.tar.gz
$ unzip apache-archiva-2.2.0apache-archiva-2.2.0-bin.zip

 

2.設定修正

$ vim apache-archiva-2.2.0/conf/jetty.xml
<Set name="port"><SystemProperty name="jetty.port" default="8080"/></Set>

<Put name="mail.user">{your gmail uer}</Put>
<Put name="mail.password">{your gmail password}</Put>
<Put name="mail.transport.protocol">smtp</Put>
<Put name="mail.smtp.host">smtp.gmail.com</Put>
<Put name="mail.smtp.port">587</Put>
<Put name="mail.smtp.auth">true</Put>
<Put name="mail.smtp.starttls.enable">true</Put>
<Put name="mail.debug">false</Put>
$ vim apache-archiva-2.2.0/conf/archiva.xml
<application>
<url>http://{your domain}/url>
<timestamp>EEE d MMM yyyy HH:mm:ss Z</timestamp>
</application>

 

3.nginx設定

# vim /etc/nginx/conf.d/archiva.conf 
server {
    listen                  80;
    server_name             {your domain};

    location / {
        include                 /etc/nginx/proxy_params;
        client_body_buffer_size 128k;
        proxy_pass http://127.0.0.1:8080;
    }
}

 

4.クライアント設定

$ vim ~/.m2/settings.xml
<settings>
  <servers>
    <server>
      <id>archiva.internal</id>
      <username>{your username for your archiva}</username>
      <password>{your password for your archiva}</password>
    </server>
    <server>
      <id>archiva.snapshots</id>
      <username>{your username for your archiva}</username>
      <password>{your password for your arvhiva}</password>
    </server>
  </servers>
</settings>

5.pom.xmlに追記

  <!-- distributionManagement -->
  <distributionManagement>
    <repository>
      <id>archiva.internal</id>
      <name>Internal Release Repository</name>
      <url>http://{your domain}/repository/internal/</url>
    </repository>
    <snapshotRepository>
      <id>archiva.snapshots</id>
      <name>Internal Snapshot Repository</name>
      <url>http://{your domain}/repository/snapshots/</url>
    </snapshotRepository>
  </distributionManagement>

 

以上を設定したい状態で、

$ mvn clean deploy

にて、デプロイが可能となる。

結構いいです。

 

ただ、認証情報のリセットが一定期間で要求されるので、
若干そこがめんどくさいかな。

コメントがあればどうぞ


CAPTCHA Image
Reload Image