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
にて、デプロイが可能となる。
結構いいです。
ただ、認証情報のリセットが一定期間で要求されるので、
若干そこがめんどくさいかな。
コメントがあればどうぞ