MacPCにSlackbotの本体を置いていたいのですが、PCを閉じてしまうとプロセスが中断してしまうため、レンタルサーバーに常駐させて永続的に稼働させることにしました。

サーバーに置いておけばスマホからちょっと試してみたいことがある場合にも便利です。

◆前提
・Botのソースコードが完成している
・サーバーの契約が完了している

Slackbotを動作させるサーバーの環境

使用サーバー:Xサーバー
操作に使用したPC :MacBookPro

1画面でやってたら非効率極まりなかったので途中からポータブルモニターを繋げて2画面でやりました。

SlackbotをXserverで稼働させるために必要なこと

・ソースコードをサーバーにアップロード
・pipコマンドを使えるようにする
・npmを導入
・Slackのワークスペースから新しいAPIトークンを取得
・APIトークンを環境変数に定義
・foreverコマンドでBotプロセスを永続化

レンタルサーバーの利用方法などは割愛します。
今回やった内容を軽くまとめています。後日もう少し詳細な手順をまとめる予定です。

ソースコードをサーバーにアップロード

まずはソースコードをサーバーにアップロードしましょう。
今回はGitHubからソースコードをクローンしました。

GitHubが使えるならコードの修正の反映の時にも便利なのでオススメです。

GitHubにアクセスする為には「個人のアカウントを作ってそのアカウントでアクセスする方法」と「サーバーの公開鍵をGitHubに登録してアクセスを許可する方法」の2つがあります。

個人でやっているなら自分のアカウントを使っても良いですが、チームでやっている場合や後々人が入ったことを考えると公開鍵を登録する方が良いでしょう。

pipコマンドを使えるようにする

Xサーバーは元々Pythonが入っていますが、なぜかpipコマンドが入っていないため、ライブラリの追加ができません。
よってpyenvで環境を整えてインストールする必要があります。

npmコマンドを導入

foreverコマンドを使うのでnpmコマンドのインストールも必要です。
npmコマンドの導入が終わったらforeverコマンドもインストールしましょう。

APIトークンを取得と設定

APIトークンを取得してAPIをOSの環境変数に定義します。

APIトークンの取得方法及びOSの環境変数に定義については「SlackbotのAPIトークンを取得する(動画あり)〜Hubotのインストール〜」をお読みだくさい。

foreverコマンドでSlackbotプロセスを永続化

foreverコマンドを使ってプロセスを永続化します。foreverコマンドで永続化したコマンドはターミナルを閉じても継続されます。

以上、Slackbotをサーバーにアップする方法でした。

以前似たような作業はやったことがありましたが、XサーバーでBotを管理する作業は初めてだったので1日くらいかかってしまいました。

◆参考にした記事

エックスサーバーに Node.js をインストールする


https://fx.ichizo.biz/2017/03/24/xserver-python-anaconda.html

まとめ

Slackbot(Python)をアップする為に必要な作業は以下となります。なお、ソースコードが完成していることとサーバーの契約が完了していることが前提条件です。

・ソースコードをサーバーにアップロード
・pipコマンドを使えるようにする
・npmを導入
・Slackのワークスペースから新しいAPIトークンを取得
・APIトークンを環境変数に定義
・foreverコマンドでBotプロセスを永続化

細かい作業の手順については別途記事を作成する予定です。
やることはそんなに多くないですが、詰まる要素がそれなりにあるので結構苦戦しました。

次はサーバーの管理のための処理を作っていきたいと思います。

Slackbot+PythonまとめTOP>>Slackbotの作り方マニュアル〜Python編〜