Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
41
Help us understand the problem. What are the problem?

More than 5 years have passed since last update.

チーム開発でやっといたら便利だったHerokuの設定

特に目新しくはないのですが、チーム開発する際に便利だなと思ったHerokuの設定を紹介したいと思います。

Automatic deploys

この機能を有効にすると、masterにマージやpushされると自動でHerokuにpushしてくれます。

それでは、早速実際の設定の仕方をみていきましょう。

HerokuのDashboadで設定します。[Code]から[GitHub]を選びます。

skitch.png

[Connect to GitHub]を押すと、リポジトリの選択画面が表示されます。

skitch.png

リポジトリー名の一部を入力して[Seach]します。そうすると、該当するリポジトリの一覧が表示されるので、連携したいレポジトリを[Connect]して設定画面を表示します。

skitch.png

masterにpushした際、自動でデプロイするように、設定画面の[Automatic Deploys]の[Enable Automatic Deploys]にします。

これで、設定ができたので、設定したGitHub上のリポジトリのmasterにpushすると[Activity]でBuildが自動で始まることを確認できます。

skitch.png

また、しばらく経つとデプロイができたことを確認できます。

skitch.png

デプロイの通知

DashboardからActivityを見ればデプロイの状況はわかるのですが、いちいちブラウザを開くのも面倒です。そこで、Slackに通知するようにします。

それでは、その設定の方法を紹介します。

まず、Slackで[Configure Integrations]を開きます。

skitch.png

ずらっとリストが並んでいる下の方の[DIY Integrations & Customizations]の[Incoming WebHooks]を[Add]します。

skitch.png

通知先のチャンネル選択画面が表示されるので、通知したいチャンネルを選択して[Add Incoming WebHooks Integration]します。

skitch.png

Incoming WebHooksの詳細画面が表示されるので、その画面の[Webhook URL]を参照します。

このURLをコピーし、以下のコマンドのtokenにペーストして実行します。

$ heroku addons:add deployhooks:http url="https://xxxxx.slack.com/services/hooks/heroku?token=***************************"

これで、Herokuにデプロイが完了したらチャンネルにこんな通知が飛ぶようになります。

skitch.png

まとめ

Herokuへの自動デプロイは、いままでもCIなどを使って実現可能ではあったのですが、Heroku標準の機能で何クリックかで設定できようになったのでだいぶ楽になりました。

あと、あわせてデプロイの通知をしておけば、自動デプロイでデプロイされたのがSlackに通知されるので非常に便利です。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
41
Help us understand the problem. What are the problem?