Sonatype Nexus で Maven リポジトリを構築しよう (4.デプロイ編)

投稿者 : OSCA

 本連載では、独自の Maven リポジトリを構築できるパッケージリポジトリ管理ソフトウェア「Sonatype Nexus」で Maven リポジトリを構築する方法について解説しています。 連載4回目の本稿では、独自に作成した Maven リポジトリに独自ライブラリをデプロイする方法について解説します。

リポジトリ情報の確認

 まずは本稿で説明を進めるにあたり、Nexusで独自に構築したMavenリポジトリ情報を整理しておきます。 ここでは、前回までの手順に基づいて次のようなリポジトリを作成したこととします。

項目
リポジトリのURLhttp://nexus.myhost.com:8081/repository/sample-maven-release/
ログインアカウント名sample
ログインパスワードpassword

pom.xml の設定

 Nexus のリポジトリにデプロイしたい Maven プロジェクトの pom.xml には、次の例のようにデプロイ先となるリポジトリ情報を記述します。 気にしたいのは「ログインアカウントはpom.xmlには書かれない」ことです。 ソースコードを Git などでバージョン管理する際に、そのソースコードの中にアカウント情報が入っているのは危険ですし、チームで開発する際には人ごとにアカウントが違いますよね。 ですので pom.xml にはリポジトリの URL だけが記述されます。

<project 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/maven-4.0.0.xsd">
...
  <distributionManagement>
    <repository>
      <id>releases</id>
      <url>http://nexus.myhost.com:8081/repository/sample-maven-release/</url>
    </repository>
  </distributionManagement>

...
</project>

開発マシンの設定

 Nexus のリポジトリにデプロイするためのアカウントは、開発者それぞれがマシンに設定します。 ホームディレクトリ下の .m2 ディレクトリ配下に Settings.xml (~/.m2/settings.xml) に次のような記述を行います。

<?xml version="1.0" encoding="UTF-8"?>
<settings>
  <servers>
    <server>
      <id>releases</id>
      <username>sample</username>
      <password>password</password>
    </server>
  </servers>
</settings>

デプロイ

 上記のように pom.xml へのリポジトリの記述と、開発マシンにアカウントの設定ができたら、さっそくデプロイを行ってみましょう。 デプロイは mvn deploy コマンドで行えます。

$ mvn deploy

 デプロイが完了したら、Nexus サーバの画面にアクセスし、デプロイしたライブラリが実際に追加されたことを確認してみましょう。

次回は利用編

 次回は連載の最終回、デプロイしたライブラリを利用してみましょう。 近日執筆予定です。

Apache Maven の目次へ戻る

著者 : OSCA

OSCA

 初級WEBエンジニアです。最近は Android, iOS, WEBアプリの作成に力を入れています。 個人として何か一つでも世の中の多くの人に使ってもらえるアプリを作ろうと日々奮闘中です。
@engineer_osca