概要
JFlog社が提供しているリポジトリ管理サービス「Artifactory」について、クラウド版とオンプレ版の2種類提供されていますが、どちらもそれぞれ無償版が用意されています。
オンプレ版にはOSSと呼ばれる無償のパッケージが提供されていますが、利用可能なリポジトリタイプに制限があります。
しかしクラウド版に同様の制限がかかっているのか情報が無かったので、実際に登録して確認してみました。
Cloud版Artifactoryの登録
Artifactory登録ページへ移動し、各種情報を以下の通り入力します。なお、クラウドサーバーは特に自身で用意する必要はありません。
・クラウドプロバイダーとサーバーのリージョンは任意のものを選択します。
・サーバー名も任意の名前を入力します。サーバー名の入力規則は以下の通りです。
3文字以上30文字以内
アルファベット小文字のみ
・「ビジネス用メールアドレス」と記載されていますが、個人のGメールアドレスでも登録出来ました。
・「カスタマーポータルパスワード」と「確認用パスワード」に同じパスワードを入力します。パスワードの入力規則は以下の通りです。
8文字以上32文字以内
大文字と小文字のアルファベット、数字、「 !@#$%^&*+=」を全てそれぞれ1文字ずつ含める
・氏名はそれぞれアルファベットで記入します。
必要事項の入力が完了し、下2つのチェックボックスにチェックを入れてから「登録する」ボタンを押すとreCAPTCHAのうざったい認証画面が表示されますので、指示に従い認証を完了させます。
すると以下の通り登録完了画面が表示されます。
しかしここの「始める」ボタンをクリックしましたら404not foundのページに移動してしまいますので、この「始める」ボタンはひとまず無視します。
Artifactoryの起動
「ビジネス用メールアドレス」で入力したメールアドレス宛にJFrog Free Subscription Activation
という件名でメールが送付されますので、そのメールを開きます。
そのメールアドレスにClick here to activate your JFrog subscription
と書かれたリンクが貼り付けてありますので、そのリンクをクリックします。
すると以下の画面へ移動しますのでしばらく待ちます。
ちなみにServer Name
に先程登録したサーバー名が、Location
にはサーバーのリージョンが表示されます。
しばらく待つとこんな感じの画面に移行します。「Login」ボタンをクリックします。
ログイン画面にて、Usernameに登録したメールアドレスを入力し、Passwordに先程設定したパスワードを入力してログインします。
ログイン後の画面はこんな感じです。
以上でクラウド版Artifactoryの登録は完了です。
Artifactoryの試用
無事起動が出来たので少し触ってみます。
リポジトリ作成
使用可能なリポジトリタイプを確認する為、リポジトリ作成画面に移動します。
左側にあるメニューから「Administration」 - 「Repositories」 - 「Repositories」を選択します。
それから画面右上に「Add Repositories」というボタンがあるので、そこにカーソルをあわせて表示された項目から「Local Repository」をクリックします。
するとリポジトリタイプの選択画面が表示されるのですが、見ての通りグレーアウトされた項目がありません。
つまり全てのリポジトリタイプが使用可能という事になります。
これは正直驚きました。オンプレ版の無償OSSは利用可能なリポジトリタイプが制限されていたので、無償クラウド版も同様の制限がかかっていると思っていましたが普通に使えるようです。
試しにOSS版では使用出来なかったリポジトリタイプの一つ、rpmリポジトリを作成してみました。
「Repository Key」に任意のリポジトリ名を入力し、右下の「Save & Finish」をクリックすれば最低限リポジトリ作成可能です。
リポジトリの作成完了後、画面左側にあるメニューから「Application」 - 「Artifactory」 - 「Artifacts」へ移動します。
リポジトリ一覧の画面内に先程作成したリポジトリが存在しています。
このリポジトリに適当なrpmパッケージを格納し、yumコマンドで取得可能か試してみます。
リポジトリへ格納
画面右上にある「Deploy」ボタンをクリックすると、以下の様な画面が表示されます。
ここからローカル端末上のファイルを格納することができます。
ファイルを格納するには以下青枠内の「Select file」をクリックしてファイルを指定するか、対象ファイルを青枠内へドラッグ・ドロップします。
今回はgeditというテキストエディタを格納してみました。
格納しましたら「Deploy」ボタンをクリックします。
格納が完了し、しばらく待つと以下の様にrpmファイルだけではなく、「repodata」というディレクトリが作成され、その中に「repomd.xml」というファイルや変な名前のファイルが2つほど作成されています。
この「repomd.xml」ファイルはyumコマンドでrpmパッケージを取得する際に参照される様です。
先程リポジトリを作成した際に以下のAuto Calculate RPM Metadata
という項目がありましたが、ここにチェックボックスをつけるとこの「repodata」というディレクトリとその配下のファイルが自動で作成される様になります。
この項目はデフォルトでチェックが付いているので、作成する際には特に意識する必要は無さそうです。
リポジトリから取得
rpmリポジトリへパッケージファイルの格納が完了したので、次は取得を行ってみます。
取得を行うには取得するクライアント側で以下のコマンドを実行し、viエディタを起動します。
sudo vi /etc/yum.repos.d/artifactory.repo
vi起動後、以下の内容を貼り付けます。
<>は<>内に記載されている情報に置き換えます。
ユーザー名とパスワードはArtifactoryへログインするアカウント情報を記載します。
[Artifactory]
name=Artifactory
baseurl=https://<ユーザー名>:<パスワード>@<ArtifactoryのURL>/artifactory/<rpmリポジトリ名>/
enabled=1
gpgcheck=0
記載が完了しましたら:wq!
で終了します。
それから以下のコマンドを実行し、rpmパッケージの取得を行います。
yum install --downloadonly --downloaddir=<カレントディレクトリのフルパス> <パッケージ名>
上記コマンドを実行すると、rpmパッケージのダウンロードのみ実行し、インストールは実行されません。
今回はパッケージファイルがArtifactoryのリポジトリで取得可能な事を確認する事が目的なのでダウンロードオンリーで実行しています。
インストールを実行する場合はyum install <パッケージ名>
だけで構いません。
上記コマンド実行後、以下の結果が表示されました。
#中略
================================================================================
Package アーキテクチャー
バージョン リポジトリー 容量
================================================================================
更新します:
gedit x86_64 2:3.28.1-3.el7 Artifactory 2.5 M
トランザクションの要約
================================================================================
更新 1 パッケージ
総ダウンロード容量: 2.5 M
Background downloading packages, then exiting:
No Presto metadata available for Artifactory
gedit-3.28.1-3.el7.x86_64.rpm | 2.5 MB 00:01
exiting because "Download Only" specified
リポジトリーの欄に「Artifactory」と表示されているので、どうやら取得先がArtifactoryのリポジトリに向けられている様です。
その下に書いてあるメッセージNo Presto metadata available for Artifactory
が少し気がかりですが…
取得後にカレントディレクトリ内を確認しましたら、rpmリポジトリに格納したrpmパッケージファイルが存在していました。
[root@localhost temp]#ll
合計 2592
-rw-r--r--. 1 root root 2654112 12月 20 17:08 gedit-3.28.1-3.el7.x86_64.rpm
上記結果により、取得も可能である事が分かりました。
以上でリポジトリの試用は完了です。
無償でArtifactoryが使える、という事ですが正直どこまで使用して大丈夫かまだよく分かりません。
ある日突然これだけ使用したから○○円払え!などという通知が来ないことを祈りつつちょくちょく弄って見ようと思います。