GMOアドマーケティングのT.Kです。バッチサーバーでEmbulkを使っていますが、古いv0.8系なので更新する事にしました。
embulk selfupdate で更新すると何かあった際に切り戻しが出来ないので、追加インストールして切り替える方針を取りました。
手順
- Gemfileを作成
プラグインも新しいバージョンに更新します。インストール先を被らないようにするためGemfileを使います。
既存環境はプラグインをGemfileで管理していないので、コマンドでインストール済みのリストを抽出します。
既存のembulkのインストール先はold/embulkとします。
|
$ old/embulk gem list | grep embulk- $ mkdir bundle_dir $ cd bundle_dir $ vi Gemfile |
Embulkは安定版のv0.9系を使うので、embulkのGemはバージョンを制限する。
- 最新安定版を既存と別のディレクトリに追加インストール
|
$ curl --create-dirs -o new/embulk -L http://dl.embulk.org/embulk-latest.jar $ chmod +x new/embulk $ new/embulk bundle --path vendor/bundle |
- 動作確認
bundleオプションでGemfileディレクトリを指定して動作に問題ない事を確認する。
各プラグインを使っているタスクを一通り確認して問題がなければ全体を切り替えていきます。
|
$ old/embulk preview exmple.yml |
↓
|
$ new/embulk preview -b bundle_dir exmple.yml |
まとめ
互換性が高いお陰で確認した限りでは問題なく動作しました。開発環境でしっかり動作検証を行えば
embulk selfupdate による更新もありかもしれません。