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