Boxenも定期的にアップデートしていかなければいけません。で、Boxenをアップデートしようと思って、Puppetfileで指定されているBoxenのバージョンだけを変更して script/boxen
を実行してもおそらくエラーが発生します。
boxen/our-boxenをgit-pullでアップデートしてから script/boxen
するのが正解。
puppet-boxenとour-boxenのおさらい
簡単におさらいしておくと
repo | 役割 |
---|---|
boxen/puppet-boxen | boxenのコアモジュール |
boxen/our-boxen | boxenの容れ物 |
Puppetfileで指定しているのはコアモジュールの方のバージョンです。
容れ物のバージョン毎に対応しているコアのバージョンが微妙に異なっているっぽく、コアだけをバージョンアップしてもダメな訳です。コア自体はBoxenでバージョン管理されていますが、容れ物の方はgitで管理されています。
で、our-boxenのmasterは基本的に正しい組み合わせになっているので、our-boxenをアップデートして、そのときついてくるpuppet-boxenを使うと失敗が少ないです。
our-boxenをアップデートする
ローカルにあるBoxenのリポジトリは本来our-boxenをgit-cloneして、masterをプライベートなリポジトリに向けていると思います。なので、まず最初に本家のboxen/our-boxenをremoteに設定してやりましょう。
% git remote add upstream git://github.com/boxen/our-boxen.git
# 設定できてるか確認
% git remote -v | grep upstream
upstream git://github.com/boxen/our-boxen.git (fetch)
upstream git://github.com/boxen/our-boxen.git (push)
そしたらupstreamからpullします。
% git pull upstream master
コンフリクトが発生したらよしなに解消してください。これでour-boxenのアップデートが完了したので、必要に応じて設定を更新してから script/boxen
を実行します。
% ./script/boxen
成功したら忘れずにコミットして、originにgit-pushしておきましょう。
% git add -A
% git commit -m 'Update our-boxen'
% git push origin master