Slackのアドベントカレンダーでも紹介したのですが
現在5つのSlackアプリをHeroku上で運用しています。
Herokuでのアプリ運用にはHeroku特有の癖みたいなのがあるので、それをクリアしたテンプレートみたいなものがあると便利なのですが、こちらに作ってあります。
フロントエンドをVue.js
バックエンドをFlask(python)にして、すぐにWebアプリを立ち上げることができるようになっています。
お試しされる場合は最初のこちらを御覧ください。
こちらも参考になると思います
SlackアプリをHerokuで運用する
もともとなぜHerokuで作ったのかというと、Slackの中の人が提供するサンプルがHerokuにデプロイできるように作られていたからなのですが、今では手放せなくなりました。
今日は、なぜ手放せなくなったのかという話です。
デプロイが簡単
先の記事にも書いたと思うのですが、Heroku特有の癖さえ乗り越えてしまえばあとはとても簡単です。
ローカル環境
→Githubにデプロイ
→HerokuとGithubをコネクトして、オートデプロイ設定をONにしておくことで、テスト環境のHerokuに更新が自動的に反映される
加えて、Heroku パイプラインという機能を使ってステージングとプロダクション環境を接続してあるのですが、これをやっておくと、ステージング環境をクリアした場合に、ボタンクリックでプロダクション環境にプロモート出来てしまうのです。
Githubからオートデプロイされる所では、ビルドに時間がかかるのですが、これをクリアしてしまえば、ボタンを押してほぼ瞬間的に本番環境が切り替わります。これが本当に楽。素晴らしいですね。
パイプラインの詳細はこちら
ドメインの設定が楽
CNAMEに設定するだけでとても簡単。
SSL化もボタン一つでやってくれます。
*注意 CloudFlare経由の場合、キャッシュしてるとSSL化に失敗します。DNSのみにして設定しましょう。
障害がほぼ無い
3年ほどWebサービスを運用していますが、障害でアクセス不能になったことがほぼありません。
これは良いですね。
まとめ
ということで、簡単な紹介ではあるのですがHerokuで全然インフラまかなえちゃうぞというご紹介でした。
Slackアプリも稼働中です。是非見ていってください
- OYASUMI bot https://lne.st/oyasumilink
- TIPS https://lne.st/tips
- TimeLine for Slack https://lne.st/wr21
- YOKOKU for Slack https://lne.st/4cdy
- TASUKARU-TaskALL- https://lne.st/3x1u
OYASUMI bot
Googleカレンダーのスケジュールに「休み」等の、休暇判定キーワードが入っていた場合に、自動的にSlackをスヌーズ状態に変更します。
メンションがあった場合に、メンションした相手にその日は休暇ですというレスを付けます。
スタッフの休暇を気持ちよく過ごしてもらう為のアプリです。
TIPS
Slack用のリマインダーアプリです。
デフォルト機能のリマインダーは、一つのスケジュールに一つのメッセージの設定しか出来ません。
このアプリでは、一つのスケジュールに複数のメッセージを登録し、ランダムで指定された時間にpostします。
チャンネル特有のノウハウ等をスケジュール登録しておくことで、自然と情報が浸透する状態を作ります。
TimeLine for Slack
全ての公開チャンネルのpostを一つのチャンネルにまとめるタイムラインチャンネルを生成するアプリです。
一部のチャンネルのみを集めたミックスチャンネルを作成すると、自分が必要なチャンネルだけのタイムラインを作り出すことが出来ます。
オプション機能として、メッセージ転送時にDeepL翻訳を挟むことが出来ます。
YOKOKU for Slack
OYASUMI botの応用です。
例えば「営業」というキーワードが入った予定だけを抽出したいと思ったことはありませんか?
カレンダーをいちいち検索するのは手間がかかります。
このアプリを用いれば、特定のキーワードが入った予定を、特定のチャンネルに流すことが出来ます。
TASUKARU
Slackで色々な人からメンションをもらって混乱したことはありませんか?
何か頼まれていたはずだけど思い出せない… そんな状態からあなたを救います。
TASUKARUはSlack専用のタスクマネージャーです。
デフォルトのスレッドやメンション画面では、処理が終わったpostをアーカイブすることが出来ませんが、TASUKARUならそれが出来ます。
今アクションが必要なものだけに集中することができる、それがTASUKARUです。