タイガー!タイガー!じれったいぞー!(SE編)

AS400, Java, JavaEE, JSF等の開発、習慣など。日々の気づきをまとめたブログ(備忘録)

【CentOS7】Nexusインストール

チームで共有して使用したいJarファイルを気軽に更新したり、取得したりできないものかと調査してましたら、「インハウス・リポジトリ」というワードにたどりつきました。

インハウス・リポジトリとは?

いわゆる社内リポジトリと呼ばれるもので、自分たちで作成したライブラリや外部リポジトリに存在しないライブラリを独自に準備した置き場所のことのようです。

インハウス・リポジトリの構築方法

基本的には、普通にHTTPアクセスできる場所を準備して、SCP、HTTP PUT、WebDAVなどでファイルをアップロードするようですが、簡単に導入できる管理ツールみたいのは無いのかなぁ~と調査したところ、次の3つが主流であることを知りました。

まずは、Glassfish4.1にwar配備できるのが超・楽!ということで、それぞれのwarファイルをデプロイしたところ、NexusとApache Archivaはデプロイエラーに!!!

というわけで、デプロイが成功したArtifactoryを数日、使ってみたのですが、今度はJarファイルをリポジトリにアップロードするタイミングで、毎回500エラーになる現象が発生。
初期化したり、いろいろと試してみたのですが、解決できずで。。。ログファイルにも、原因となるものが書き込まれていないし、こちらについても、Glassfish上での運用を諦めることにしました。

CentOS7へNexus導入

という経緯を経て、NexusをCentOSへインストールすることにしました。
Webで見た感じ、デザインも良さげでしたし!

(1) OSS版Nexusのダウンロード

(2) ファイルの設置

# mkdir /opt/nexus
  • SCPで下記のPATHへ配置
/opt/nexus/nexus-2.11.3-01-bundle.zip

(3) nexus展開、シンボリックリンク作成

# cd /opt/nexus
# unzip nexus-2.11.3-01-bundle.zip
# ls -l
合計 77968
drwxr-xr-x 8 root root      105  5月 19 18:06 nexus-2.11.3-01
-rw-r--r-- 1 root root 79837174  5月 28 08:20 nexus-2.11.3-01-bundle.zip
drwxr-xr-x 3 root root       35  5月 19 17:10 sonatype-work

# ln -s nexus-2.11.3-01 nexus
# ls -l
合計 77968
lrwxrwxrwx 1 root root       15  5月 28 12:35 nexus -> nexus-2.11.3-01
drwxr-xr-x 8 root root      105  5月 19 18:06 nexus-2.11.3-01
-rw-r--r-- 1 root root 79837174  5月 28 08:20 nexus-2.11.3-01-bundle.zip
drwxr-xr-x 3 root root       35  5月 19 17:10 sonatype-work

(4) nexusユーザー作成、権限付加

# useradd nexus

# id nexus
uid=1001(nexus) gid=1001(nexus) groups=1001(nexus)

# cd /opt/nexus
# chown -Rf nexus:nexus .
# ls -l
合計 77968
lrwxrwxrwx 1 nexus nexus       15  6月  1 12:44 nexus -> nexus-2.11.3-01
drwxr-xr-x 8 nexus nexus      105  5月 19 18:06 nexus-2.11.3-01
-rw-r--r-- 1 nexus nexus 79837174  5月 28 08:20 nexus-2.11.3-01-bundle.zip
drwxr-xr-x 3 nexus nexus       35  5月 19 17:10 sonatype-work

(5) 起動確認

# su - nexus
$ /opt/nexus/nexus/bin/nexus start
Starting Nexus OSS...
Started Nexus OSS.

http://[ServerのIPアドレス]:8081/nexus/ へアクセスすると、Nexusが起動しました! なお、私の環境では起動に数分かかりました。しばらく待ちましょう。

もし、Web画面が表示できない場合は、ファイアウォールの問題なので、8081ポートを開放してあげましょう。今回私はテスト用なので、ファイアウォールは無効にしてしまいました。

# systemctl stop firewalld
# systemctl disable firewalld


f:id:no14141:20150602083347j:plain

次回では、構築したNexusサーバを使用して、WebからのJarファイルのデプロイ、GradleタスクからのJarファイルのデプロイ、さらにはインハウス・リポジトリからのJar取得を試してみたいと思います。