驚愕の事実に愕然とした@HIROCASTERでございませう。
この資料を見ると2012年に12,602回デプロイをして、41,679回もビルドしています。まだ9月ですので、驚異的な回数なことがわかります。
8月23日には563回ビルドされて、175回もデプロイされていると書かれています。1日24時間と計算しても、1時間に約7.5回ほどデプロイされている計算になるので、営業時間という概念があるなら相当な頻度でデプロイされています。
リーン・スタートアップの著者として世界的に有名になったエリック・リースが関わっているIMVUでは、1日あたり20回前後という話を本人に伺ったことがあります。
リーン・スタートアップ ―ムダのない起業プロセスでイノベーションを生みだす エリック・リース、伊藤 穣一(MITメディアラボ所長)、井口 耕二 |
それでも多いなぁ。と感じたものですがGitHubが桁が違いました。私の経験ではは1日に4〜8回ぐらいで、十分頑張りました。って感じなのですが、全然足下にも及びません。
GitHubは普通の会社とどう違うのか?
- リリースマネージャーがいない(いる必要がない)
- 週次のデプロイセットもありません(この週にこれだけの機能をまとめてリリースとかがない)
- 開発者とデザイナーは、早く提供できるように自分たちでデプロイする(できる)
作った人達が自ら確認できて、サクッとデプロイできるのであれば、さっさと作って、ささと出してしまった方が良いに決まっています。これを実現させるために様々な工夫がされているようです。
GitHubの基本的なワークフロー
The basic workflow goes like this:
- Push changes to a branch
- Wait for the build to pass on our CI server
- Tell Hubot to deploy it
- Verify that the changes work and fix any problems that come up
- Merge the branch into master
- 機能を実装したブランチをpush
- CIサーバがビルドプロセスを実施
- 結果をHubotがCampfireに通知してデプロイします
- 新しい変更点がきちんと動いて、問題がないかを確認
- masterブランチへマージ
というのが基本的な流れのようです。ポイントなのはありとあらゆる所が自動化されています。詳細は元記事を確認して頂ければと思います。
いつまで手動でデプロイしてるんですか?
ChefやPuppetを利用してインフラを、デプロイをcapistranoなどを利用して自動化することはあたりまえになってきましたが、デザイナーもデプロイできるようにWebistranoなどを利用して1クリックデプロイできることも検討しないと、この域に到達するのは難しいかもしれません。
継続的デリバリー 信頼できるソフトウェアリリースのためのビルド・テスト・デプロイメントの自動化 David Farley、Jez Humble、和智 右桂、高木 正弘 |