Twitter のタイムラインで Heroku のこんな機能を知り、どんなもんか触ってみました。
はじめに
本機能は 2014/11/27 現在 WIP (work in progress) だそうです。
上のリンクも Last Updated が 2014/11/25 なのでかなり最近公開された機能なのかな...
※※2014/11/28 追記※※
最後の方にも書きましたが、まだ全てのユーザーに対して有効になってはいないようです。
聞くところによると、まだベータなんで招待されないと使えないようですね。
機能を有効にしてみる
それでは、上記のリンクを参考にまずは機能を有効にします。 ローカルで以下のコマンドを実行
$ heroku labs:enable github-sync
すると、以下のようなメッセージが表示され、機能が有効化されます。
Enabling github-sync for ********@gmail.com... done WARNING: This feature is experimental and may change or be removed without notice. For more information see: https://devcenter.heroku.com/articles/github-sync
ここでも「この機能はまだ experimental だよ」という警告が出ます。
ちなみに、
$ heroku labs
というコマンドを実行すると
=== User Features (********@gmail.com) [+] github-sync Allow users to set up automatic GitHub deployments from Dashboard [ ] pipelines Pipelines adds experimental support for deploying changes between applications with a shared code base. === App Features (lit-peak-8002) [+] http-dyno-logs Enable HTTP dyno logs using log-shuttle [alpha] [ ] log-runtime-metrics Emit dyno resource usage information into app logs
というように、現在の設定が確認できます。
機能を使ってみる
早速、github-sync を使ってみます。
GitHub と連携するということで、適当な GitHub リポジトリを用意します。
https://github.com/zaki-yama/heroku_github-sync
Heroku のダッシュボード にアクセスし、どれでもいいのでアプリケーションを選択します。
「Code」を選択すると、真ん中に GitHub の項目があります。
リポジトリを入力して、「Connect」をクリックすると...
で、どうやら機能としては3つあるようです。
上から順にどんなことができるかさらっと見ていきます。
機能①: Deploy a GitHub branch
そのまんまの意味で、「Deploy Branch」ボタンを押すと選択したブランチが Heroku にデプロイされるっぽいです。
単に master ブランチでなく、プルダウンで対象を選択できるのがいいですね。
機能②: Enable automatic deploys from GitHub
ブランチを選択してこの機能を有効にしておくと、push されるたびにその内容が自動的に Heroku にもデプロイされるようです。
機能③: Enable automatic deploys of GitHub Pull Requests
GitHub 上で Pull Request を作成するたびに、Heroku 上で自動的に新たにアプリケーションを作成し、以後は Pull Request に push した内容がそっちのアプリケーションに自動で反映されるようです。
すげえ!!
機能③はまだ使えない...?
で、一通り試してみたんですが、私のアカウントではどういうわけか機能③だけうまくいきませんでした。
こちらのように、PR 作成時にメッセージが表示されるようになったんですが、「deploy」のリンクをクリックすると...
というように、アプリ自体は作成されていないようでした。
で、記事の一番最初の注意書きをもう一度読み返すと...
This article is a work in progress, or documents a feature that is not yet released to all users. This article is unlisted. Only those with the link can access it.
not yet released to all users
なので、まだなのかな...
とはいえ、プルリク作成時に検証環境が自動的に用意されるようになったら
とんでもなく便利ですよね。
Google App Engine でも似たようなことができないものか。。。