2016-03-31 4 views
4

Elixir/mixで構築されたアプリケーションで作業する。リリース(elixir/exrm)で 'mix'コマンドを実行する方法は?

私たちはelixir mix fooとして実行するユーティリティ関数(すなわち、seed/clear Mnesia db)をたくさん持っています。

リリース(ミックス+ exrm)が作成され、ターゲットマシン(完全なビルドチェーンや完全なソースがないと予想される)にデプロイされたら、それらのコマンドにアクセスする実際的な方法はありますか?

+0

これを確認してください。https://github.com/bitwalker/exrm/issues/67#issuecomment-183457937 – Gazler

+0

@Gazlerは成功した回答になります!ありがとうございました! –

+0

私はこのコメントを回答にコピーし、コミュニティWikiとしてマークしました。これにより、誰でも回答を変更することができますが、質問が返答されないままになることはありません。チャンスがあったらそれを受け入れてください。 :) – Gazler

答えて

2

今#286が固定されていることを、私たちはそれをやっている方法である、以下のアプローチをお勧めしますhttps://github.com/bitwalker/exrm/issues/67#issuecomment-183457937

を参照してください。

あなたが利用可能たいタスクを呼び出すescriptを構築そしてリリースからそれを呼び出します(https://gist.github.com/MSch/9cfc185e24e2f3509650 exrmプラグインを使用):リリース 私たちは、いつ、どこに移行するように制御することができるこの方法を移行release_tasks.escript

REL/pssync/binに/ pssyncのescriptビンを/、種子など。

(ほとんどの)タスクを、開発時にmixとre​​lease_tasks.escriptの両方で利用できるようにしたいので、いくつかの重複/間接がありますが、それは管理可能です。また、OTPアプリケーションを完全に開始することなく移行できることも意味します。

rel/pssync/bin/pssycの移行を行うことができるように、これはexrmにアップストリームされ、より緊密に統合されていますが、これまでのところ、

関連する問題