そもそもItamaeのプラグインって?
Itamaeには他のレシピを取り込めるようになっており、
include_recipe 'hogehoge'
のように書くと他のレシピを取り込む事が出来ます。
これによって様々なプラグインを取り込む事ができます。
また、プラグインは
また、プラグインは
gem
として公開、インストールが可能です。何を作った?
そのプラグインとして今回作成したのが
Android SDK
をインストールするプラグインです。Android SDK
自体は公開されているものをダウンロードしパスを設定すれば使用する事が出来ますが、plugin化した理由として
- aaptが32bitアプリケーションなので64bitの環境だと動かない
- sdkのアップデート(build-toolsやplatform等のインストール)を一気にやりたい
があった為です。
今回作成したプラグインでは上の二つを解決するべく、
64bit環境では32bitの
アップデートしたいものを
64bit環境では32bitの
aapt
が使えるように別途ライブラリをインストールし、アップデートしたいものを
node.json
で指定できるようにしています。使い方
まずインストールですが、
gem
として公開しているので、$ gem install itamae-plugin-recipe-android_sdk
とするか、Gemfileに
gem 'itamae-plugin-recipe-android_sdk'
を追加し$ bundle install
とする事でインストールが可能です。
簡単なサンプルとして
require 'itamae'
include_recipe 'android_sdk::install'
として実行すると、デフォルトで
Android SDKのバージョンとしては現時点で最新の
/usr/local
にAndroid SDKがインストールされANDROID_HOME
が環境変数として設定されます。Android SDKのバージョンとしては現時点で最新の
r24.4.1
がインストールされます。
また実行時にnode属性として以下が指定できます。
{
"sdk": {
"version" : "r24.4",
"install_path" : "/var/lib",
"update_list" : [
"build-tools-23.0.3",
"android-22"
]
}
}
上の例では
- SDKのバージョンが
r24.4.0
- インストール先が
/var/lib
build-tools-23.0.3
とandroid-22
(platform)のインストール
を指定しています。
※ SDKのバージョンや、build-toos等のバージョンはこちらを参照して下さい
node属性を
node.json
として保存した場合の、実際に実行するコマンドは$ itamae ssh --host [ホスト名] -u [ユーザー名] --node-json node.json ファイル名.rb
になります。
まとめ
色々説明したんですが、
ちょっと気になった方や、AndroidSDKインストールする必要がある際などにこのプラグインを使って頂けたら幸いです。
ちょっと気になった方や、AndroidSDKインストールする必要がある際などにこのプラグインを使って頂けたら幸いです。
また、Githubで公開しているので、何か問題点や不明点などがあれば
Issues
をあげて頂ければとても助かります。
ついでに
つけてやってもいいという方は宜しくお願いします。
Star
もつけて頂けるとモチベーションにつながるので^^;、つけてやってもいいという方は宜しくお願いします。
0 件のコメント:
コメントを投稿