LoginSignup
0
0

More than 5 years have passed since last update.

ChefでHubotをインストールする

Posted at

コマンドラインでのインストールと同様のことをChefで行おうとしたときに、対話式の部分で躓いたのでそのときのメモ。
※Node.jsがインストールされている前提です。

コマンドラインでインストール

$npm install -g yo generator-hubot hubot coffee-script
$yo hubot

このときに対話式でいくつか入力を求められます。
Owner : 制作者のメールアドレス
Bot name : 生成するHubotの名前
Description : 生成するHubotの説明
Bot adapter : 使用するアダプタ

Chefでインストール

chefで対話式のインストーラを扱う場合はexpectと使うと自動入力してくれる。

cookbook_file "/tmp/yo_hubot.sh" do
  mode "755"
  source "your_directory/yo_hubot.sh"
end

execute "install hubot" do
  not_if "which hubot"
  command "npm install -g yo generator-hubot hubot coffee-script"
  notifies :run, "execute[yo_hubot]"
end

execute "yo_hubot" do
  action :nothing
  command "/tmp/yo_hubot.sh"
end
yo_hubot.sh
#!/bin/bash
expect -c '
spawn yo hubot
set timeout -1
expect {
  -regexp ".*Y/n.*" {
    exp_send "n\r"
    -regexp ".*Owner.*" {
      exp_send "your e-mail adress\r"
    }
  }
  -regexp ".*Owner.*" {
    exp_send "your e-mail adress\r"
  }
}
expect {
  -regexp ".*Bot name.*" {
    exp_send "your bot name\r"
  }
}
expect {
  -regexp ".*Description.*" {
    exp_send "your bot description\r"
  }
}
expect {
  -regexp ".*Bot adapter.*" {
    exp_send "use adapter name\r"
  }
}
expect eof
'

何か間違ってるとかこっちの方がいいとかありましたらお願いします。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0