JFrog Artifactoryは、Artifact Repository Managerと呼ばれるツールの一種で、主要なパッケージフォーマットのほぼ全てをサポートするJFrog社のDevOpsツールです。
Artifact Repository Manager
Artifactはよく人工物などと訳されますが、このコンテキストにおいてはビルド済みのプログラム、成果物といった意味になります。
また、Repositoryもよく耳にしますが厳密にどんな意味かを考えると、特定のリソースを蓄えるデータベース/ストアです。
特定のリソースといっても、主にソースコードや技術情報などが該当します。今回のようにArtifact Repositoryというと、成果物が蓄えられているデータベースという認識になります。
要するにArtifact Repository Managerは成果物を蓄えるデータベースを管理する仕組みという認識で問題ないでしょう。
Artifact Repository Managerという呼び名の他に、Binary Repository Managerなどと呼ばれる事もあります。
ソースコードのバージョン管理を行うなら、GitHubやBitBucketなどがありますが、これらは成果物のバージョン管理を行うためのサービスとなります。
これだけだとナンノコッチャとなりますが、身近なツールで例えるなら、
- Node.jsで開発した成果物の管理はnpmを用い、
- Pythonならpipなどがありますし、
- JavaならMaven、
その他OSのパッケージ管理でも、
- Debian系ならapt、
- centosならyum、
- お馴染みbrewなど
たくさんのパッケージマネージャがあります。
List of software package management systems
これらパッケージマネージャは、それぞれ対応するレポジトリが存在し、そこからパッケージを取得します。
PythonのpipならPyPIや、Debianのdebならいくつかのdebレポジトリがあり、
これらレポジトリがArtifact Repositoryになります。
JFrog Artifactory
では、JFrog Artifactoryとは何かという話に戻りましょう。
JFrog Artifactory(以下Artifactory)も、一言で表すと上述したような成果物のバージョン管理を行うレポジトリを簡単に作る事ができるサービスです。
公式からも謳われている特長として、ほぼ全ての主要なパッケージフォーマットをサポートしているので、Artifactory上でPython用レポジトリやCentOS向けレポジトリ、Dockerコンテナレポジトリなどを建てる事が出来ます。
JFrog Artifactory Feature
Artifactoryに類似するサービスとして、
名称 | 開発元 | リンク |
---|---|---|
Archiva | Apache Software Foundation | https://archiva.apache.org/ |
Nexus | Sonatype | https://www.sonatype.com/ |
が有名ですが、その中でもArtifactoryを選ぶ理由としては
- まず上にある通り対応するパッケージフォーマットの多さ
- 主要なビルドツール、CI/CDサーバーと簡単に統合し、自動化できる
- マルチクラウド・SaaS・HighAvailabilityと機能詰め詰めでビジネスの継続性を高める
などがあるでしょうが、詳しくは公式サイトを参照ください。
料金プラン
基本的な料金プランと、各プランの比較は以下のページで確認出来ます。
さらにこちらを確認すると、Artifactory-ossと書かれた無料版もあるようです。
Open Source Artifactory
docker版は以下のコマンドで無料版のイメージを取得出来ます。
docker pull docker.bintray.io/jfrog/artifactory-oss:latest
無料版では、Maven・Gradle・Ivyのみサポートと書かれていますが、GenericとSBTも利用できるようです。
色々と調べてみた感じ、Java開発なら無料版でも事足りると思いますが、それ以外なら有料版以外の選択肢は無いように感じます。
ただ、有料プランであれば一番安いプランでも、全てのパッケージフォーマットを利用可能になり、料金の違いは主に冗長構成に関する差異が多いように感じたので、どれだけ冗長性を確保したいかでプランを選べば良いかなぁと思います。