プライベート用のリポジトリを利用する
Composerはプライベートのバージョン管理システムからも取得できます。ここでのプライベートとは、個人向けという意味だけではなく、社内利用などを含めた方法で、利用者がアクセスできるリポジトリであれば問題ありません。もちろん、リポジトリにアクセスする際にIDやパスワードなどを利用することも可能です。
続いてGitとSubversionを用いての利用方法を紹介します。リポジトリへのプロジェクトファイルの登録方法などは、本稿とは関係がないため紹介はしません。筆者が実際に公開しているリポジトリなど、すでに公開されているリポジトリが参考になります。
Gitを用いてリポジトリを公開する場合
今回は、httpを通じてgitリポジトリを公開できる前提です。また、そのリポジトリのパスは「http://localhost:8080/git/php-xtable.git」とします。従って、以下のようなコマンドでGitのリポジトリクローンを作成できる前提です。
$git clone http://localhost:8080/git/php-xtable.git
ただし、このパスはcomposerコマンドは知らないので、その指定を記述する必要があります。その指定を、「repositories」にします。
{
"repositories" : [
{
"packagist": false
},
{
"type" : "vcs",
"url" : "http://localhost:8080/git/php-xtable.git"
}]
}
リポジトリには、「type」と「url」があり、typeはバージョン管理を示す"vcs"になります。また、urlにgitのリポジトリパスを指定します。また、その他、依存などがない場合には、以下の追加をrepogitoriesに追加することでよけいなパッケージを参照しないことから、これから紹介する処理の速度が速くなります。
{
"repositories" : [
{
"packagist": false
},:
],
}
composer.jsonでここまでの記述が終わったら、登録したライブラリをcomposerが認識できるか確認します。
$composer show coltware/xtable
このコマンドを実行すると、リスト7の結果が表示されます。
name : coltware/xtable descrip. : create table ddl from xml keywords : database, xml versions : * dev-master type : library license : MIT source : [git] http://localhost:8080/git/php-xtable.git 40c8205832cf979d6518664f3430e9087bb3143c dist : [] names : coltware/xtable autoload psr-4 coltware\xtable\ => src/main requires php >=5.3.0 mkobayashi-mac15:git_sample ma
登録したパッケージが見つからない場合などは、パッケージ名やリポジトリのパスが正しいか確認してください。また、Gitリポジトリの場合には、デフォルトで「dev-master」というバージョンが存在します。開発バージョンを指定する場合には、このバージョンを指定することになります。
また、Gitでのブランチやタグを作成することで自動的にバージョン番号を付与することができます。例えば、「0.1」というブランチを作成すると「0.1.x-dev」というバージョンが作成され、「0.1」というタグを作成すると、そのタグはそのまま「0.1」というバージョンになります。
Subversionを用いてリポジトリを公開する場合
同様にSubversionのリポジトリを利用する場合を紹介します。リポジトリは、「http://localhost:8080/svn/php-xtable」とします。従って、以下のようなコマンドでSubversionの作業ワークが作成できる前提です。
$svn co http://localhost:8080/svn/php-xtable
続いて、Gitの場合と同様にcomposer.jsonを記述します。
{
"repositories" : [
{
"packagist": false
},
{
"type" : "vcs",
"url" : "http://localhost:8080/svn/php-xtable"
}
]
}
このようにGitを指定する方法とまったく変わらず指定することができます。また、同様にcomposerが認識できるかを確認すると、リスト10のような結果が取得できます。
name : coltware/xtable descrip. : create table ddl from xml keywords : database, xml versions : dev-trunk type : library license : MIT source : [svn] http://localhost:8080/svn/php-xtable /trunk/@10 dist : [] names : coltware/xtable autoload psr-4 coltware\xtable\ => src/main requires php >=5.3.0
Gitの場合とは大きく異なるのが、デフォルトのバージョンでSubversionの場合には「dev-trunk」になります。また、ブランチやタグの場合は同様で、「0.1」というブランチを作成すると「0.1.x-dev」というバージョンが作成され、「0.1」というタグを作成すると、そのタグはそのまま「0.1」というバージョンになります。
