はじめに
この記事では、Metabaseをwindows10のサービス化して、windows10起動時に自動的Metabaseが起動する方法を紹介します。
(ただし、セキュリティ面はよくわかりませんので自己責任でお願いします。)
実行環境
この記事は以下の環境で動作確認しています。
・OS:Windows10
・Metabase : v0.33.0
・WinSW.NET4 : V2.3.0.0
手順
1.WinSWの入手
WinSWをGoogleなどで検索して、ダウンロードして入手します。
私の環境の場合は、WinSW.NET4.exeをダウンロードしました。
2. WinSWを所望のフォルダに格納
ダウンロードしてきた、WinSW.NET4.exeをmetabase.jarが格納されているフォルダと同じフォルダにコピーします。
(実際にサービス化して動作させると、logファイルなど色々が生成されるようですので、分かる人はフォルダを分けたほうがいいかもしれません。)
3. WinSWのリネーム
WinSW.NET4.exeをmetabase.exeにリネームします。
おそらく名前は自由でいいと思われますが、ここではmetabase.jarと同じmetabaseを使用します。
4.設定ファイル metabase.xmlの作成
適当なエディタでmetabase.exeと同じフォルダ内にmetabase.xmlを作成します。
(いろいろ試した結果、下記のようにするとうまくいきました。)
<service>
<id>metabase</id>
<name>metabase</name>
<description>This service runs metabase continuous integration system.</description>
<executable>java</executable>
<arguments>-jar "metabase.jar"</arguments>
<logmode>rotate</logmode>
</service>
5.metabase.exeのサービスへの登録
コマンドプロンプトで同フォルダに移動して、metabase.exe install
を実行します。
このときコマンドプロンプトは「管理者として実行」する必要がありますので、ご注意ください。
これでサービスとして登録されます。
6.サービス登録の確認
サービスとして登録されているかを確認します。
Windowsのサービスに登録されていれば下記のような内容が表示されます。
7.動作確認
では、Windowsを再起動して自動的にMetabaseが起動するか確認します。
再起動後に、Metabaseを起動するために実行していたコマンドプロンプトからの「java -jar metabase.jar」を実行せずに、
ブラウザからMetabaseにアクセスできれば成功です。
8.別のパソコンからアクセスできることの確認
また、このパソコン(Metabaseがサービス化されたパソコン)からサインアウトした状態で、別のパソコンのブラウザから確認できるかを確認します。
この時はプライベートIPアドレス+ポート番号指定のhttp://192.168.x.x:3000
等でアクセスします。
ポート番号はMetabaseのポート番号で、デフォルトは3000です。(変更もできるようです。)
私は下記のように同一ネットワーク内のスマホから確認しました。
まとめ
上記の通り、WinSWによって、Metabaseをサービス化することができ、毎回起動する必要がなくなりました。
(セキュリティ的な面はあまりよくわかってませんので、注意してください。)