リポジトリ

情報工学やIT分野における保管場所

情報工学におけるリポジトリ (: repository) はモノの一元的な貯蔵庫である。レポジトリとも呼ばれる。

目的に応じた様々なモノを一箇所に集約する場所がリポジトリである。例えばシステム開発用レポジトリには仕様・デザイン・ソースコード・テスト情報・インシデント情報など様々なモノが集約されている。

概要編集

「リポジトリ」の原義は「貯蔵庫」「保管場所」である(wikt:repository)。(紙の)情報源の宝庫、といった意味でも使われた(機関リポジトリ)。

バージョン管理システムCVSSubversionGit 等)ではソースコード等の管理対象を溜めておく場所をリポジトリと呼ぶ。プロジェクト管理システムでは関連資料や依存ライブラリの集約場所をしばしばレポジトリと呼ぶ(e.g. Apache Maven)。

あらゆる第三者に開かれているリポジトリをパブリックリポジトリ: public repository)といい、権利者のみが利用できるものをプライベートリポジトリ: private repository)という[注 1]

リポジトリはしばしばバージョン管理される。例えばGitリポジトリはcommitにより更新され、これらすべてのcommitを遡ることが可能(全バージョンへのアクセスが可能)になっている。これによりリポジトリのある時点におけるスナップショットの取得が可能である。

利用編集

解析編集

(特にパブリックソフトウェア)リポジトリはテキストマイニング等の解析の対象として利用される。主にソースコード作成支援やバグへの対処などに用いられる。

配布編集

第三者からアクセス可能なリポジトリへ対象を配置することで、リポジトリを配布のための拠点として利用できる。例えばパブリックGitレポジトリは誰でもcloneすることで入手できる。

ソフトウェアデプロイメントにおいてソフトウェア生成物(artifacts)をリポジトリでバージョン管理し配布すれば、指定されたバージョンのソフトウェアをビルドなしで繰り返し利用でき、再現性が担保され迅速かつ効率よいデプロイメントが可能になる。例えばDocker HubレポジトリでDockerイメージを管理することで容易にマイクロサービスをスケーリングできる。

また配布されたソフトウェア生成物(artifacts)を基にした派生ソフトウェア生成に利用できる。例えばDockerfileではbase imageをDockerHubからダウンロードし操作を行ったうえでimageを生成できる。

脚注編集

[脚注の使い方]

注釈編集

  1. ^ Amazon ECR では、AWS IAM を使用したリソースベースのアクセス許可を持つプライベート Docker リポジトリがサポートされるため、特定のユーザーまたは Amazon EC2 インスタンスがリポジトリとイメージにアクセスできる。[1]

出典編集

  1. ^ Amazon ECR”. 2020年5月15日閲覧。

関連項目編集