【自主学習の記録 part3】Artifactoryについて

#Artifactoryとは
今回はArtifactoryについて学習しました。
前回までGitLabについて学習していましたが、ここ最近は現場で触れる機会が多かったのと興味本位でArtifactoryを使ってみたいと思います。
Artifactoryとは、リポジトリを管理するサービスです。リポジトリとはビルドされたプログラムの成果物を格納したりインターネット上で公開されているライブラリ等を取得し、一時的に保管したりする為の「箱」です。
GitLabとは異なりバイナリ形式のファイルやサイズの大きなファイル等の管理に向いていますが、逆にソースコードの管理には不向きとの事です。

#基本的な使い方
基本的な使い方としてリポジトリの作成・ファイルのデプロイ・取得を実施してみます。
Artifactoryにはクラウド版とオンプレ版の2種類提供されており、オンプレ版には無償のOSS(OPEN SOURCE SOLUTIONS)というバージョンが提供されています。
今回はこのOSS版を使用しています。
クラウド版にも無償版が提供されていますので、機会があればクラウド版も試してみたいと思います。

##リポジトリの作成
まずはリポジトリの作成画面に移動します。
以下Artifactoryのトップ画面の歯車マークをクリックし、「Repositories」 - 「Repositories」を選択します。
![ATF_01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/858317/74015957-bf8b-24a4-1427-06dc19bc8a1d.png)
「Repositories」画面の右側にある「New Local Repository」をクリックします。
![ATF_02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/858317/9b1e0141-2be5-38f0-67a8-126c12caec9a.png)
リポジトリタイプの選択画面に移動します。
今回は汎用的な「Generic」リポジトリを使用します。
なお、OSS版の場合は使用可能なリポジトリタイプに制限があり、以下の通り5種類(Generic・Gradle・Ivy・maven・SBT)しか使用できません。
Dockerやnpm等他のリポジトリタイプを使用したい場合は有償版の契約が必要になるようですが、料金があまりに高額(年間でおよそ30万円！)なので個人で利用する場合は相当余裕のある方でないと厳しいですね…
無償のクラウド版についてもおそらく同様の制限がかかっているものと思われます。
![ATF_03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/858317/d17eadf6-36d7-f6c5-cf6c-24ea843adc37.png)
リポジトリの作成画面に移りますので、「Repository Key」にて任意のリポジトリ名を入力します。
最低限必要な設定はリポジトリ名のみですので、リポジトリ名を入力したら右下の「Save & Finish」をクリックします。
![ATF_04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/858317/30a393d5-c62c-0e06-4a2b-80f28bf012b2.png)
以下の通り「Successfully added repository '＜作成したリポジトリ名＞'」と表示されれば完了です。
リストの中に作成したリポジトリが追加されています。
![ATF_05.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/858317/792ef9c3-140a-49c2-e8c0-39dcd190389d.png)

##リポジトリにファイルのデプロイ
続いて作成したリポジトリにファイルを格納(デプロイ)します。
左メニューの歯車の隣にある四角のマークをクリックし、「Artifactory」 - 「Artifacts」をクリックします。
![ATF_06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/858317/218efb0c-d633-8be5-7b99-e3446109f409.png)
リポジトリの一覧が表示されますので、先程作成したリポジトリを選択します。
それから右上にある「Deploy」をクリックします。
![ATF_07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/858317/47fe5889-0182-4c0f-4183-da6ec571effa.png)

以下デプロイ画面が表示されます。
青枠内へファイルをドラッグ・ドロップするか、「Select file」をクリックして格納対象ファイルを選択し、右下にある「Deploy」をクリックするとファイルのデプロイが完了します。
![ATF_08.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/858317/d1289296-af8b-b72c-48a4-8b26509cfe38.png)
今回はテストファイルとして本記事に貼り付けた画像ファイル「ATF_01.png」を使用しました。
ちなみにデフォルトだと1ファイルずつしかデプロイ出来ませんが、以下画面の緑枠にある「Multi」をクリックすると複数ファイルをデプロイ出来るようになります。
また、ディレクトリの中にファイルを格納したい場合は、赤線部の様に「Target Path」の中に記載されているファイル名の前にディレクトリ名を追記します。
今回は「path」ディレクトリを指定しました。
![ATF_09.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/858317/f7ae8994-ca51-124b-36d1-ba2c6fd4ada9.png)
「Deploy」をクリック後、以下の通り「Successfully deployed ＜対象ディレクトリ名/対象ファイル名＞ to ＜対象リポジトリ名＞」と表示されたら完了です。
![ATF_10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/858317/14df89c8-f46d-839d-a7fa-a4b2c5fba269.png)
デプロイしたファイルが以下の通り表示されています。
![ATF_11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/858317/e19fccfa-8a19-a1ce-049f-ce7fe0ea76f9.png)

##リポジトリからファイルの取得
デプロイしたファイルを取得します。
取得する場合の手順は非常に簡単で、単に取得対象ファイルを右クリックし、「Download」をクリックするだけで対象ファイルのダウンロードが実施されます。
![ATF_12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/858317/acbaa075-e338-7b32-fd44-f901c8c618a0.png)

##CLIから実施する場合
今まではwebブラウザから実施していましたが、CLIからファイルを格納、取得する場合のコマンドのヒントを確認する事が出来ます。
以下画面の中から対象のリポジトリをクリックし、右上にある「Set Me Up」をクリックします。
![ATF_13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/858317/065547e1-ed47-be03-5b26-79b5f7ded109.png)
「SET ME UP」画面が表示されました。
ここには各種リポジトリタイプ毎のリポジトリの使用方法が記載されています。
Deployが格納時のコマンドで、Resolveが取得時のコマンドです。
詳しい使い方は次回紹介したいと思います。
![ATF_14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/858317/8148e1cb-65f0-a3f4-0406-46b62dd821eb.png)

以上で今回の学習は終了です。
今回までは学習記録という形で投稿していましたが、次回からはナレッジ形式で投稿してみたいと思います。
GitLabとは違いArtifactoryの場合は日本語の情報がかなり少ないので、まだ掲載されていない様な情報を掲載していきたいです。