読者です 読者をやめる 読者になる 読者になる

Google Compute Engine上でSlackのBotkitを動かすぞい!

GCP GCE

Google Compute Engine(GCE)でSlackのBotkitを動かすぞい!という話。

以降 Google Compute EngineはGCEと書きます!

Slackのbotkitの詳細については割愛しますが、全く動かしたことないです!って人は一度以下とか読んで簡単なものでも動かしておくといいかもです。

toach.click

Google Compute EngineのVM インスタンスを作成する

今回はLinux VMインスタンスを作成します。

公式のドキュメントにそってやれば簡単にインスタンスは作れます。ちなみに、私は操作に慣れているUbuntuを使ってます。

Quickstart Using a Linux VM  |  Compute Engine Documentation  |  Google Cloud Platform

インスタンス作るまでの手順は割愛しますが、公式のドキュメントより細かく手順が欲しい!!って方は以下のQiitaとかがオススメです。

qiita.com

マシンタイプは「f1-micro(vCPU x 1、メモリ 0.6 GB)」とかで一番安いのでいいでしょう。

VM インスタンスSSHで入ってnodeをインストールする

gcloudとか使ってターミナルから操作もできますが、そこまで長い作業にならないのでWebのSSHで作業します。

VMインスタンスの一覧画面で、作業したいインスタンスSSHから以下のように「ブラウザ ウィンドウで開く」を選択すれば、WebのSSHが開きます。

f:id:operando:20160925204116p:plain

んで、開いたらVM インスタンスにnodeをインストールします。

nodeのサイトに各メジャーOSでnodeをインストールする方法が書いてありますので、作成したVMインスタンスのOSに合わせてコマンドを見つける。

Installing Node.js via package manager | Node.js

私が普段VMインスタンスで使うOSはUbuntuなので以下のコマンドを実行すればnodeがインストールできます。npmもね。

curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
sudo apt-get install -y nodejs

インストールが終わったら一応nodeとnpmのバージョンを確認してインストールされていることとか確認しておくといいですね。

VMインスタンス上で動かすbotkitのサンプルをcloneする

今回使ったのはSlackのBotkitでbotにメンション付きで発言すると、内容をオウム返しするbotさんを動かします!

github.com

上記のRepositoryを以下のようにcloneします。ついでにnpm installもして実行に必要なモジュールもインストールしておく。

git clone https://github.com/operando/slack-botkit-sample.git
cd slack-botkit-sample
npm install

別途自身で作成したbotがあればそちらを使うでもいいですねー。

ちなみに、Ubuntuは元からgitが入っているので追加で入れる必要はないですが、立ち上げるOSによっては別途追加が必要かもです。

VMインスタンス上でbotkitを動かすぞい!!

VMインスタンス上で動かすbotが用意できたら、あとは実行するだけです。

私が作ったbotなら以下のように実行します。

// your_api_tokenのところに自身のSlackのAPI tokenを入れる
 token=your_api_token node parrot-bot.js

起動が確認できたらbotが動いてるSlackに移動して動作確認してみます。

動いた!!

やたー!!動いたー!!

f:id:operando:20160925211307g:plain

後処理

動いた!!と満足してもうVMインスタンス不要だったら停止するなり削除するなりしておくといいかと。

まとめ

GCEはインスタンスの作成も操作も簡単なのでいいですねー