SlideShare a Scribd company logo
1 of 11
Download to read offline
. . . . . .
Apache Archiva を試す
July 15, 2013
. . . . . .
Apache Archiva を試す
ふと浮かぶ疑問
▶ ソースコード(.java)は Git などのバージョン管理システムで管理できる
▶ ではビルド済みファイル(.jar)は?
みんなはどうしているのだろう
▶ 『はてなで聞いた』けど、誰も教えてくれない
▶ 自分で見つけてきた Apache Archiva を試すことにした
. . . . . .
Apache Archiva とは
Apache Archiva とは
▶ 『Apache Archiva』で配布されているリポジトリ管理ソフトウェア
▶ Maven リポジトリなどを管理できる
▶ インハウスリポジトリをたてるのに便利?
▶ 類似製品には JFrog Artifactory や sonatype Nexus など
インハウスリポジトリとは
▶ 社内などで使う共有リポジトリ
▶ HTTP におけるプロキシサーバーのようなもの
▶ 参考:『http://www.nulab.co.jp/kousei/chapter5/02.html』
. . . . . .
Archiva をインストール (1/2)
Archiva をダウンロード
▶ 『Apache Archiva』の公式サイトからダウンロード
▶ ZIP (Standalone) / WAR がある
▶ 今回は ZIP ( Archiva 1.3.6 Standalone zip ) をダウンロード
Archiva をインストール、起動
▶ 適当なディレクトリにコピーし、展開し、起動する
$ unzip apache-archiva-1.3.6-bin.zip
$ cd apache-archiva/bin/
$ ./archiva console
. . . . . .
Archiva をインストール (2/2)
動作確認とユーザー作成
▶ Web ブラウザで http://localhost:8080/archiva にアクセス
▶ 管理ユーザーの作成を求められるので適当なユーザーを作成
▶ User Management から internal / snapshots
の管理権限を付与した適当なユーザーを作成
▶ 『詳しくは公式の Quick Start 参照』
. . . . . .
Archiva をリポジトリとして使う (1/2)
▶ settings.xml の mirror に Archiva のリポジトリを追加
(設定イメージを後述)
▶ Maven で依存関係を解決→Archiva のリポジトリが使われる→JAR
がキャッシュされる
▶ http://localhost:8080/archiva/browse から結果を確認
▶ 詳しくは公式の Using as a repository を参照
. . . . . .
Archiva をリポジトリとして使う (2/2)
▶ settings.xml 設定イメージ
<settings ...
<mirrors>
<mirror>
<id>archiva.default</id>
<url>http://localhost:8080/archiva/repository/internal/</url>
<mirrorOf>*</mirrorOf>
</mirror>
</mirrors>
...
</settings>
. . . . . .
Archiva にデプロイする (1/3)
▶ HTTP を使ってデプロイする
▶ settings.xml に認証設定を追加 ( 設定イメージを後述 )
▶ pom.xml の distributedManagement に repository 設定を追加 (
設定イメージを後述 )
▶ mvn deploy でデプロイ
▶ 『詳しくは公式の Deploying to repository を参照』
▶ (検索すると Maven Wagon Plugin を使って WebDAV
でデプロイする例ばかりで嫌になる)
. . . . . .
Archiva にデプロイする (2/3)
▶ settings.xml 設定イメージ
<settings ...
<servers>
<server>
<id>archiva.internal</id>
<username>username</username>
<password>password</password>
</server>
<server>
<id>archiva.snapshots</id>
<username>username</username>
<password>password</password>
</server>
</servers>
...
</settings>
. . . . . .
Archiva にデプロイする (3/3)
▶ pom.xml 設定イメージ
<project ...
<distributionManagement>
<repository>
<id>archiva.internal</id>
<name>Internal Release Repository</name>
<url>http://localhost:8080/archiva/repository/internal/</url>
</repository>
<snapshotRepository>
<id>archiva.snapshots</id>
<name>Internal Snapshot Repository</name>
<url>http://localhost:8080/archiva/repository/snapshots/</url>
</snapshotRepository>
</distributionManagement>
...
</project>
. . . . . .
おしまい
▶ これで .jar 管理が楽しくなるね
▶ 参考URL:
▶ http://archiva.apache.org/
▶ http://archiva.apache.org/
▶ http://labs.n2sm.co.jp/?p=128
▶ http://www.nulab.co.jp/kousei/chapter5/02.html
▶ http://archiva.apache.org/docs/1.3.6/quick-start.html
▶ http://archiva.apache.org/docs/1.3.6/userguide/using-
repository.html
▶ http://archiva.apache.org/docs/1.3.6/userguide/deploy.html

More Related Content

What's hot

Elasticsearch as a Distributed System
Elasticsearch as a Distributed SystemElasticsearch as a Distributed System
Elasticsearch as a Distributed SystemSatoyuki Tsukano
 
DevOpsにおけるAnsibleの立ち位置と使い所
DevOpsにおけるAnsibleの立ち位置と使い所DevOpsにおけるAnsibleの立ち位置と使い所
DevOpsにおけるAnsibleの立ち位置と使い所Hidetoshi Hirokawa
 
BuildKitの概要と最近の機能
BuildKitの概要と最近の機能BuildKitの概要と最近の機能
BuildKitの概要と最近の機能Kohei Tokunaga
 
Fluentdのお勧めシステム構成パターン
Fluentdのお勧めシステム構成パターンFluentdのお勧めシステム構成パターン
Fluentdのお勧めシステム構成パターンKentaro Yoshida
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Kohei Tokunaga
 
本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話Kumazaki Hiroki
 
ストリーム処理を支えるキューイングシステムの選び方
ストリーム処理を支えるキューイングシステムの選び方ストリーム処理を支えるキューイングシステムの選び方
ストリーム処理を支えるキューイングシステムの選び方Yoshiyasu SAEKI
 
トランザクションの設計と進化
トランザクションの設計と進化トランザクションの設計と進化
トランザクションの設計と進化Kumazaki Hiroki
 
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)NTT DATA Technology & Innovation
 
Dockerfileを改善するためのBest Practice 2019年版
Dockerfileを改善するためのBest Practice 2019年版Dockerfileを改善するためのBest Practice 2019年版
Dockerfileを改善するためのBest Practice 2019年版Masahito Zembutsu
 
Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編Masahito Zembutsu
 
DockerとPodmanの比較
DockerとPodmanの比較DockerとPodmanの比較
DockerとPodmanの比較Akihiro Suda
 
コンテナ未経験新人が学ぶコンテナ技術入門
コンテナ未経験新人が学ぶコンテナ技術入門コンテナ未経験新人が学ぶコンテナ技術入門
コンテナ未経験新人が学ぶコンテナ技術入門Kohei Tokunaga
 
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理NTT DATA Technology & Innovation
 
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャーKubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャーToru Makabe
 
GitLab CI/CD パイプライン
GitLab CI/CD パイプラインGitLab CI/CD パイプライン
GitLab CI/CD パイプラインTetsurou Yano
 
YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)
YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)
YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)NTT DATA Technology & Innovation
 
より速く より運用しやすく 進化し続けるJVM(Java Developers Summit Online 2023 発表資料)
より速く より運用しやすく 進化し続けるJVM(Java Developers Summit Online 2023 発表資料)より速く より運用しやすく 進化し続けるJVM(Java Developers Summit Online 2023 発表資料)
より速く より運用しやすく 進化し続けるJVM(Java Developers Summit Online 2023 発表資料)NTT DATA Technology & Innovation
 
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜Preferred Networks
 
はじめてのElasticsearchクラスタ
はじめてのElasticsearchクラスタはじめてのElasticsearchクラスタ
はじめてのElasticsearchクラスタSatoyuki Tsukano
 

What's hot (20)

Elasticsearch as a Distributed System
Elasticsearch as a Distributed SystemElasticsearch as a Distributed System
Elasticsearch as a Distributed System
 
DevOpsにおけるAnsibleの立ち位置と使い所
DevOpsにおけるAnsibleの立ち位置と使い所DevOpsにおけるAnsibleの立ち位置と使い所
DevOpsにおけるAnsibleの立ち位置と使い所
 
BuildKitの概要と最近の機能
BuildKitの概要と最近の機能BuildKitの概要と最近の機能
BuildKitの概要と最近の機能
 
Fluentdのお勧めシステム構成パターン
Fluentdのお勧めシステム構成パターンFluentdのお勧めシステム構成パターン
Fluentdのお勧めシステム構成パターン
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
 
本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話
 
ストリーム処理を支えるキューイングシステムの選び方
ストリーム処理を支えるキューイングシステムの選び方ストリーム処理を支えるキューイングシステムの選び方
ストリーム処理を支えるキューイングシステムの選び方
 
トランザクションの設計と進化
トランザクションの設計と進化トランザクションの設計と進化
トランザクションの設計と進化
 
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
 
Dockerfileを改善するためのBest Practice 2019年版
Dockerfileを改善するためのBest Practice 2019年版Dockerfileを改善するためのBest Practice 2019年版
Dockerfileを改善するためのBest Practice 2019年版
 
Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編
 
DockerとPodmanの比較
DockerとPodmanの比較DockerとPodmanの比較
DockerとPodmanの比較
 
コンテナ未経験新人が学ぶコンテナ技術入門
コンテナ未経験新人が学ぶコンテナ技術入門コンテナ未経験新人が学ぶコンテナ技術入門
コンテナ未経験新人が学ぶコンテナ技術入門
 
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
 
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャーKubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
 
GitLab CI/CD パイプライン
GitLab CI/CD パイプラインGitLab CI/CD パイプライン
GitLab CI/CD パイプライン
 
YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)
YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)
YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)
 
より速く より運用しやすく 進化し続けるJVM(Java Developers Summit Online 2023 発表資料)
より速く より運用しやすく 進化し続けるJVM(Java Developers Summit Online 2023 発表資料)より速く より運用しやすく 進化し続けるJVM(Java Developers Summit Online 2023 発表資料)
より速く より運用しやすく 進化し続けるJVM(Java Developers Summit Online 2023 発表資料)
 
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
 
はじめてのElasticsearchクラスタ
はじめてのElasticsearchクラスタはじめてのElasticsearchクラスタ
はじめてのElasticsearchクラスタ
 

Apache Archiva を試す

  • 1. . . . . . . Apache Archiva を試す July 15, 2013
  • 2. . . . . . . Apache Archiva を試す ふと浮かぶ疑問 ▶ ソースコード(.java)は Git などのバージョン管理システムで管理できる ▶ ではビルド済みファイル(.jar)は? みんなはどうしているのだろう ▶ 『はてなで聞いた』けど、誰も教えてくれない ▶ 自分で見つけてきた Apache Archiva を試すことにした
  • 3. . . . . . . Apache Archiva とは Apache Archiva とは ▶ 『Apache Archiva』で配布されているリポジトリ管理ソフトウェア ▶ Maven リポジトリなどを管理できる ▶ インハウスリポジトリをたてるのに便利? ▶ 類似製品には JFrog Artifactory や sonatype Nexus など インハウスリポジトリとは ▶ 社内などで使う共有リポジトリ ▶ HTTP におけるプロキシサーバーのようなもの ▶ 参考:『http://www.nulab.co.jp/kousei/chapter5/02.html』
  • 4. . . . . . . Archiva をインストール (1/2) Archiva をダウンロード ▶ 『Apache Archiva』の公式サイトからダウンロード ▶ ZIP (Standalone) / WAR がある ▶ 今回は ZIP ( Archiva 1.3.6 Standalone zip ) をダウンロード Archiva をインストール、起動 ▶ 適当なディレクトリにコピーし、展開し、起動する $ unzip apache-archiva-1.3.6-bin.zip $ cd apache-archiva/bin/ $ ./archiva console
  • 5. . . . . . . Archiva をインストール (2/2) 動作確認とユーザー作成 ▶ Web ブラウザで http://localhost:8080/archiva にアクセス ▶ 管理ユーザーの作成を求められるので適当なユーザーを作成 ▶ User Management から internal / snapshots の管理権限を付与した適当なユーザーを作成 ▶ 『詳しくは公式の Quick Start 参照』
  • 6. . . . . . . Archiva をリポジトリとして使う (1/2) ▶ settings.xml の mirror に Archiva のリポジトリを追加 (設定イメージを後述) ▶ Maven で依存関係を解決→Archiva のリポジトリが使われる→JAR がキャッシュされる ▶ http://localhost:8080/archiva/browse から結果を確認 ▶ 詳しくは公式の Using as a repository を参照
  • 7. . . . . . . Archiva をリポジトリとして使う (2/2) ▶ settings.xml 設定イメージ <settings ... <mirrors> <mirror> <id>archiva.default</id> <url>http://localhost:8080/archiva/repository/internal/</url> <mirrorOf>*</mirrorOf> </mirror> </mirrors> ... </settings>
  • 8. . . . . . . Archiva にデプロイする (1/3) ▶ HTTP を使ってデプロイする ▶ settings.xml に認証設定を追加 ( 設定イメージを後述 ) ▶ pom.xml の distributedManagement に repository 設定を追加 ( 設定イメージを後述 ) ▶ mvn deploy でデプロイ ▶ 『詳しくは公式の Deploying to repository を参照』 ▶ (検索すると Maven Wagon Plugin を使って WebDAV でデプロイする例ばかりで嫌になる)
  • 9. . . . . . . Archiva にデプロイする (2/3) ▶ settings.xml 設定イメージ <settings ... <servers> <server> <id>archiva.internal</id> <username>username</username> <password>password</password> </server> <server> <id>archiva.snapshots</id> <username>username</username> <password>password</password> </server> </servers> ... </settings>
  • 10. . . . . . . Archiva にデプロイする (3/3) ▶ pom.xml 設定イメージ <project ... <distributionManagement> <repository> <id>archiva.internal</id> <name>Internal Release Repository</name> <url>http://localhost:8080/archiva/repository/internal/</url> </repository> <snapshotRepository> <id>archiva.snapshots</id> <name>Internal Snapshot Repository</name> <url>http://localhost:8080/archiva/repository/snapshots/</url> </snapshotRepository> </distributionManagement> ... </project>
  • 11. . . . . . . おしまい ▶ これで .jar 管理が楽しくなるね ▶ 参考URL: ▶ http://archiva.apache.org/ ▶ http://archiva.apache.org/ ▶ http://labs.n2sm.co.jp/?p=128 ▶ http://www.nulab.co.jp/kousei/chapter5/02.html ▶ http://archiva.apache.org/docs/1.3.6/quick-start.html ▶ http://archiva.apache.org/docs/1.3.6/userguide/using- repository.html ▶ http://archiva.apache.org/docs/1.3.6/userguide/deploy.html