アプリケーションを起動せず、行いたい処理をCUI(コマンドプロンプトやターミナル)から実行できます。CSVデータのインポートなど、サーバーを起動せず任意の処理を実行する際にこの機能がよく利用されます。 タスクを定義しよう! 今回は、CSVデータをデータベースへ登録するアプリを元に、Rakeタスクの実装について学んでいきましょう。まずは、実装対象となるアプリを立ち上げます。以下のコマンドを入力してください。
sh "sudo echo -e \"$data\" > /path/to/nginx/config" sh 'sudo service nginx reload' 実行するとエラーが起きた。 権限エラーだ。 Rake 経由だと sudo が使えないのだろうか。だが、一応 1 行目を消して実行してみたら無事に Nginx コンフィグがリロードされた。 なぜ。 この問題はスクリプトの中で sudo を使わないようにして Rake 自体を sudo で実行すれば解決する。 しかし今回のツールでは、全ての処理に管理者権限が必要なわけではない。普段権限なしで実行していて特定の場面でだけエラーが起きるのは、たぶん数ヵ月後に出会うと小さなストレスだ。 必要になればパスワードを求める仕様にしたかった。 sudo 経由で書き込むことが今回の目的だ。 環境 Ubuntu 15.04 sudo 1.8.9p5
mruby-cliの概要mruby-cliが提供するのはmruby-cliというコマンドだけです。 mruby-cliは--setupオプションで、mrubyでアプリケーションを開発するためのファイル郡を生成します。 ファイル郡には、 mruby本体アプリケーションのソースコードの雛形ビルド用のRakefileやdocker-compose.yml等が含まれます。 アプリケーションのビルドはdocker-composeコマンドで、クロスプラットフォーム向けのビルド環境が整ったDockerコンテナ内で行います。 デフォルトのターゲットプラットフォームはLinux, MacOS X, Windowsで、ビルド時には全プラットフォーム向けのバイナリがそれぞれ出力されます。 ビルドにはDockerを使用するため、mruby-cliを作者の想定どおり使用するには、DockerとDocker Comp
RailsでブラウザからアクセスしたところPendingMigrationErrorエラーがでました。 PendingMigrationErrorがでる 以下がエラーの内容です。 ActiveRecord::PendingMigrationError ( Migrations are pending. To resolve this issue, run: bin/rake db:migrate RAILS_ENV=development ): bundle exec rake db:migrate == 20150917031451 CreateActivities: migrating ================================= -- create_table(:activities) -> 0.0192s -- add_index(:activities, [
Railsでbundle exec ~~~~~とかrake db:createとかが一体何をしているのかよく知らなかったので調べてみた. bundle execとは? 例えばコマンドラインで と入力して実行してもRailsサーバーは立ち上がる. じゃあ,前に付いているbundle execって何をしているのかという話なんです. bundle execとつけて実行すると,そのRailsプロジェクトのGemfileで指定された環境で実行する事ができるようになります. bundle install --without production --without productionオプションを追加すると,本番用のgemはローカル環境にインストールはされない. rake db:createって? このコマンドを実行すると,Railsプロジェクトのconfigディレクトリの中にあるdatabase.y
Rakeの基本的な使い方のまとめです。 インストールから、Rakefileの書き方、組み込みライブラリの使い方まで。 忘れたときに見返す用に。 Rakeって何? rubyで処理内容を定義できるビルドツール。「xmlでなくrubyでbuild.xmlを書くAnt」ですな。 ruby専用とかいうわけではなく、javaのビルドなんかにも(使おうと思えば)使えます。 処理内容をrubyで書けるので、ループとか条件分岐も思いのまま。 ただし、組み込みのタスクはちょい少ないので、ちょっとした作業させるにもコーディングが必要そうかな・・・。便利なライブラリがどっかにあったりするのかもですが・・・。 rakeツールのインストールと使い方 インストール ruby と rubygems は事前にインストールされている前提で。 $ gem install rakerakeのgemをインストールするとrakeコマ
るびくる&RBのRubyプログラミング大作戦! ファイルを扱う作業をRakeで便利にしよう!(パート1:概要編)
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く