33
Help us understand the problem. What are the problem?

More than 5 years have passed since last update.

posted at

Boxenをアップデートする方法

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に設定してやりましょう。

本家のリポジトリをupstreamという名前で登録
% 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 を実行します。

Boxenを実行する
% ./script/boxen

成功したら忘れずにコミットして、originにgit-pushしておきましょう。

originへ変更をpushする
% git add -A
% git commit -m 'Update our-boxen'
% git push origin master
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
33
Help us understand the problem. What are the problem?