uechi.io/_posts/2014-05-30-dokku-with-dockland.md
Yasuaki Uechi 362ff17ac4 Add site
2017-10-07 11:43:26 +09:00

2.2 KiB

title date
Run dokku with Dockland 2014-05-30 00:00:00 Z

ローカルからheroku-toolbeltライクにdokkuコマンドを叩くdockland gemをリリースした。

Github: uetchy/dockland

インストール方法

gem install dockland

使い方

普通のやり方

まずは普通にdokkuコマンドを叩く。

ssh -t dokku@example.com <command> <app-name> <options>でリモートのdokkuコマンドを直接叩ける。

$ ssh -t dokku@example.com config:set sushi-app KEY1=VALUE
-----> Setting config vars and restarting sushi-app
KEY1: VALUE
-----> Releasing sushi-app ...
-----> Release complete!
-----> Deploying sushi-app ...
-----> Deploy complete!

しかしこれではホスト名やアプリ名を毎回打ち込む羽目になって大変だ。

docklandのやり方

docklandで同じことをやる。

$ cd sushi-app # ローカルのプロジェクトリポジトリに移動

$ git config remote.dokku.url # プッシュ先を確認しておく
dokku@example.com:sushi-app

$ dockland config:set KEY1=VALUE # 叩く時はコマンドとオプションだけ
-----> Setting config vars and restarting sushi-app
KEY1: VALUE
-----> Releasing sushi-app ...
-----> Release complete!
-----> Deploying sushi-app ...
-----> Deploy complete!

$ dockland config
=== sushi-app config vars ===
KEY1: VALUE

このように dockland が git config をパースして必要な情報を自動で収集してくれるので、コマンドがシンプルになる。

ついでに、

alias dokku='dockland'

という具合にaliasを張っておけば、まるでリモートでdokkuを実行している感覚でローカルからdokkuコマンドを触ることが出来る。

$ cd rails-app
$ dokku logs
[2014-05-29 15:38:56] INFO  WEBrick 1.3.1
[2014-05-29 15:38:56] INFO  ruby 2.1.2 (2014-05-08) [x86_64-linux]
[2014-05-29 15:38:56] INFO  WEBrick::HTTPServer#start: pid=10 port=5000
〜〜〜

結論

良い所

  • リモートのdokkuコマンドを叩きたい時はプロジェクトのGitリポジトリに入ってdocklandコマンドを叩くだけで良い

悪いところ

  • 実装が綺麗じゃないすぎる