タグ

2012年7月22日のブックマーク (6件)

  • Facebook のリリースと文化 - Kato Kazuyoshi

    公開されたのはもう去年のはなしだけど、Facebook の リリースエンジニアリングの Tech Talk (予告編) は面白い。話している Chuck Rossi さんは Facebook のリリースエンジニアリングチームのリーダーだ。 彼は “The business requires change, but change is the root cause of most outages!” と話をはじめる。Facebook の規模で毎日変更をリリースするために、リリースのリスクをできるかぎり減らさなくてはいけない。そのために出てくるのが「文化」と「道具」だ。 現在のソフトウェア開発では開発者と顧客 (your mom) の間に薄いレイヤーしかない: 昔は QA とかプロダクトマネジャーとかいろいろいたけど、いまは違う。 ブランチとリリース: 開発者は trunk にコミットする。日

  • デプロイ作業の属人化を徹底的に排除したい話 - @kyanny's blog

    ここ数カ月、デプロイとリリースについて、同僚や友人と議論したり雑談したりする機会が数多くあった。そんな折に、友人から Facebook のリリースエンジニアリングチームについて教えてもらった。曰く、 Facebook ではリリース作業を専門とするチームがあり、そこのメンバーは開発ブランチのコミットとそれに付随する ITS の議論を精査した上でリリースに値する変更をリリースブランチへ cherry-pick するのだそうだ。 2012/07/25 追記 Facebook のリリースエンジニアリングについては Facebook のリリースと文化 - Kato Kazuyoshi を参照のこと cherry-pick は無いわー、というのは置いておくとしても、リリースという極めて重要な作業が特定の人たちに委ねられている点に恐ろしさを感じた。嫌だと思うのはなぜなのかしばらく考えて、デプロイ作業の属

    デプロイ作業の属人化を徹底的に排除したい話 - @kyanny's blog
  • tig でいま見ているコミットをブラウザで開く - @kyanny's blog

    tig で Git リポジトリのログを読んでるときに「このコミットのページをブラウザで見たい!でもコピペするのは面倒だ!」と思ったので o 押したら開くようにした。 tig のキーバインドは .tigrc というファイルでカスタマイズできる。外部コマンドの呼び出しができるし、いまみている commit の SHA1 を渡せるので、こんな感じで hub コマンドを呼び出せる。 だいぶ楽なのでおすすめです。

    tig でいま見ているコミットをブラウザで開く - @kyanny's blog
  • GREEにおけるJenkins, その2 | GREE Engineering

    こんにちは、エンジニアの岡崎(@watermint)です。今回はGREEにおけるJenkinsをつかった品質管理について紹介します。 hourlyビルド 岡崎がGREEに入社したのは1年半前ですが、そのときから感じているのがGREEの開発速度は非常に速いことです。ソースコードレポジトリには多くの優秀なエンジニアが日々数百以上のコミットしています。 GREEのシステムは多くのサブシステムを組み合わせたものですが、手元の些細な変更が全く予想しない別のプロジェクトで問題を起こすことがあります。こういった問題は通常、リリース前の結合テスト等の段階で検出します。 リリース前のテストで問題が発覚すると、当然その修正をして再度修正をリリースプロセスにのせるということになるのですが、これには他のエンジニアの作業を止めてしまったりリリースの順序を調整が必要になることがあります。 こういった事態を防ぐために単

    GREEにおけるJenkins, その2 | GREE Engineering
    ainame
    ainame 2012/07/22
    良い話 > 「コミット前に十二分にチェックをしろ」という精神論の品質管理から、「単体テストによってチェックは担保される」という仕組みによる品質管理に代わり
  • GREEにおけるJenkins, その1 | GREE Engineering

    はじめまして。エンジニアの岡崎(@watermint)です。今回はGREEにおけるJenkinsの利用について紹介します。 Jenkinsは継続的インテグレーションの代表的なツールです。JenkinsがどういうものかはJenkinsコミュニティーの説明をみると良く分かります。 一言で言えば、Jenkinsは、容易ないわゆる「継続インテグレーションシステム」を提供し、開発者が変更をプロジェクトに統合でき、ユーザーがより新しいビルドを容易に取得できるようにします。自動化された継続的なビルドは、生産性を向上させます。 Meet Jenkinsより 継続的インテグレーションという言葉について耳慣れないというかたは、JenkinsならびにJenkinsの前身であるHudson開発者である川口さんによる解説をご覧ください。 Hudsonを使ったアジャイルな開発入門 GREEにおけるJenkinsの導入

    GREEにおけるJenkins, その1 | GREE Engineering
  • Git入門 - トップページ

    ※ 翻訳用のリポジトリ、作業状況は「マニュアルの翻訳状況」参照。 翻訳作業に協力してくださる方がいてくれるとうれしいです。

    Git入門 - トップページ
    ainame
    ainame 2012/07/22