本記事の目次 (→シリーズの特集ページ)
GitHubやCircle CIで継続的インテグレーション
――開発はどのような環境で行っているんですか? Heroku上にアプリケーションを構築しているということで、Gitをお使いとは思いますが。
小林:ソースコードの管理にはGitHubを使っています。ブランチは、新機能追加などのissueごとに作っています。それをdevelopブランチに向けてプルリクエストを出すと、Circle CIという継続的インテグレーションツールが外部のサービスを使ってテストを実行します。そのテストに合格するとコードがマージされ、Herokuのほうにプッシュされて、stagingアプリケーションが作られます。そこまでは自動化しました。
開発体制的にはいくつかのフェーズを切り、各フェーズの中にステップ1、2、3を置いて、あるステップの実装が終わるたびにreleaseブランチにプルリクエストを出します。そして、そこでもテストが実行され、それにパスするとreleaseブランチに統合される……という流れです。そういう流れで開発していると、自動的にHeroku上にアプリケーションが載ってくるようにしました。
まあ、これもテストをゴリゴリ書いてくれる人が外部にいるので実現できているんですが。こちらが書いたコードに対してテストを書いてもらい、それにパスすするとアプリケーションも上がってくると。
――ユーザーさんのインスタンスは立ち上がったままなんですよね。再起動は不要ということで。
小林:はい。再起動も何も必要ないですね。新しいアドオンを入れた場合には、そういうスクリプトを書かないといけないですけど。ユーザーさんには最新版の1つのコードベースでアプリケーションを提供するようにしています。
開発計画をオープンにしてしまいたい!
――今後チャレンジしたいことってありますか?
小林:費用をもっと抑えたいっていうのがありますね。いろんなアドオンを使うので、費用がちょっとずつかさむんですよね。あと、今一番気にしているのは、より売れるプロダクトをっていうことでしょうか(笑)
もう1つ、先ほど開発をフェースやステップに切って進めているといいましたが、これを世の中に公開してしまっていいんじゃないかなっていうのは結構思うところです。弊社は5年ぐらい先まで、何をやっていくかっていう開発計画が決まってるのですが、1年半までを世の中に公開しようかっていう案があるんですよ。そんな大したことでもないし、皆さんやられていくことではあるので。「ウチはこういうことやっていきますよ」っていうのは、開発者も含めて、入ってくる前に知ってもらいたいというのはありますし。OSSみたいなイメージです。
ただ、本当にOSSにして(ソースコードを公開して)はダメって言われましたね。セキュリティの問題でダメって。
――いやいや、開発計画を公開してしまえ、というだけでもかなりセンセーショナルです。
小林:競合他社が弊社の開発計画を見てコピーしようと思っても、それってビジネス的にはそんなに重要なポイントではないんですから。競合が出てきたら、それよりいいプロダクトを作りたいっていう想いのほうが強いです。プレッシャーも含めて、オープンにしようっていう計画なんです。
――本日は先端技術の実用例から開発計画の公開まで、先行サービスを提供するベンダーさんの勢いを垣間見た気がします。ありがとうございました。
Force.comは「無料」で試せます!
簡単なご登録ですぐにさわってみることができます。ご興味のある方はForce.comの下記ページから。