hubotをTypeScriptでかけるようにしました。 Herokuで動きます。
/src/*.ts
に書いて、
npm run build
してください。
環境変数HUBOT_SLACK_TOKEN
にHubot Appのトークンをセットして以下のコマンドで起動
HUBOT_SLACK_TOKEN=xoxb-xxxx ./bin/hubot --adapter slack
Herokuの登録とCLI設定は済ませておく。
// Herokuアプリを作成
$ heroku create {アプリ名}
// 環境変数としてSlack Hubot AppのTokenをセット
$ heroku config:add HUBOT_SLACK_TOKEN={hubotのToken}
// Heroku側でビルドしたいので
$ heroku config:add NPM_CONFIG_PRODUCTION=false
// デプロイ
$ git push heroku master
// ログのStreamはこれで見ましょう
$ heroku logs --tail
デフォルトだと、22:00 ~ 6:00でHerokuが寝ます(無料Dynoの場合)
hubot-heroku-keepalive でHerokuを起動し続けているので、詳細はそちらを参照してください。
$ heroku config:add TZ=Asia/Tokyo
.github/workflows
に設定している。
GitHubのSecretsに以下をセットすれば、 masterにpushで自動デプロイされる。
HEROKU_API_KEY={HerokuのAPI Key}
HEROKU_APP_NAME={Herokuのアプリ名}
HEROKU_EMAIL={Herokuで使用するメールアドレス}