背景
- fuelPHPを触っていて、composer使いやすいな〜と思っていた
- ansibleの自作rolesを複数repositoryで使いまわしやすいな〜と思ってた
- git submoduleはよく分からなかった
導入方法
共有repository作成
github、bitbucket.org等々に登録しましょう。
今回は2段階認証設定済みのbitbucketのプライベートrepositoryで試してみます。
適用したいrepository
- インストール
$ curl -sS https://getcomposer.org/installer | php
$ tree
.
└── composer.phar
- composer.jsonの作成
$ cat composer.json
{
"name": "iganari/package",
"type": "project",
"repositories": [
{
"type": "package",
"package": {
"name": "package-ansible-playbook-roles",
"version": "1.0",
"source": {
"url": "ssh://git@bitbucket.org/iganari/package-ansible-playbook-roles.git",
"type": "git",
"reference": "master"
}
}
}
],
"require": {
"package-ansible-playbook-roles": "1.0"
},
"config": {
"vendor-dir": "opsfiles/vagrant/playbook/vendor/"
}
}
後はインストールコマンドで入っていきます。
$ php composer.phar install
$ tree -L 2 opsfiles/vagrant/playbook/vendor/
opsfiles/vagrant/playbook/vendor/
├── autoload.php
├── composer
│ ├── ClassLoader.php
│ ├── LICENSE
│ ├── autoload_classmap.php
│ ├── autoload_namespaces.php
│ ├── autoload_psr4.php
│ ├── autoload_real.php
│ ├── autoload_static.php
│ └── installed.json
└── package-ansible-playbook-roles
├── readme.md
└── ubuntu-16.04
3 directories, 10 files
なんか余計なもの色々入って来ましたが、ちゃんと意図してるものは入っています。
自作composerではまった点
- 鍵の設定
~/.ssh/config
にて、鍵をbitbucketと紐付けると思うのですが、その時に名前を変えているとそこでコケます。
素直に複数登録するか、composer.jsonをあわせましょう
個人的な設定を晒す
# to private Bitbucket
Host bitbucket.org bitbucket.org.iganari
Hostname bitbucket.org
Identityfile ~/.ssh/id_rsa-bitbucket-mykey