2013」が9月28日に開催、海外から来日した多くのゲストスピーカーによるセッションが行われました。Everyone」(みんなの運用)という題で、GitHub社内で開発から運用までをデベロッパー自身が行うためのツール、BoxenとHubotの紹介と社内の利用例を解説しています。GitHubでエンジニアと教育の橋渡しをしています。私は以前、運用というのはあごひげを生やしたようなオタクがやるものだと思っていました。それは間違っていました。その話をする前に、弊社の理念をお話しましょう。弊社のプロジェクトは、つねに社の理念を念頭において進めています。理念の1つめは「Collaboration」です。孤軍奮闘するよりもチームワークを重んじます。これは運用にも同じことがいえるでしょう。次は「Automation」。同じ仕事は二度とやってはならないと考えています。雑務を減らす、ということです。「Experimentation」、実験です。そのために環境が新しいことを試しやすいようになっているべきです。「Distribut-ation?」、分散型であれ、ということ。誰か一人、あるいは少数の人だけが分かっているよりも、チーム全体で運用がわかっていれば、人為的な単一障害点をなくすことができます。この4つの理念をどう実装していくのか。2つのオープンソースプロジェクトについて話しましょう。どちらもGitHubで開発したものです。理念をツールで実装する1つは「Boxen」。デベロッパーのマシンを管理するためのツール。GitHubには200人近くの従業員がいますが、みんなこれを使ってコンフィグしています。1つは「Hubot」。Hubotはロボットで、チャットルームにいていろんな操作をチャットで実行できます。Boxenで開発環境を自動構成まずは「Boxen」から。その目的は雑務を減らすことで、Boxenのおかげで入社した人でもビルド作業がその日からできるようになります。一般に多くの会社で開発環境を整えるのには手間がかかり、1週間くらいかかってもおかしくありません。こんな大きなコストが、Boxenを採用することで省略できます。GitHubに入社した私は、初日に新しいMacbookをもらいました。Xcodeのコマンドラインツールをインストールします。これはアップルの規約上、マニュアルでのインストールが必要です。次に、curlコマンドをコピペしてターミナルから実行します。bashのスクリプトがダウンロードされて実行され、続いてGitHubのユーザー名などを入力すると、あとは待つだけです。通信速度にもよりますが、全部をダウンロードするのに速くて1時間。終了するとこんな環境が入っています。これでWebアプリケーションをローカルマシンでテストできるようになります。次は、プロジェクトを選択します。GitHubを選択するときはこのコマンドです。あとはコーディングに取りかかればいい。Mac版のPuppetみたいなものBoxenはどう動いているのか、GitHubの依存関係をどうやって知るのでしょう。Manifestファイルがあります。Boxenはこうした依存関係をもとに、GitHubのプロジェクトをクローンしてくれます。中身はPuppetです。manifestファイルもあります。これはMac版のPuppetみたいなものなのです。後編ではデプロイや運用を支えているチャットのロボット、Hubotについて。2012DevOpsを実践する企業に共通すること。2012DevOpsによるビジネスの改善をメトリクスとして計測する方法。Niino(jniino)IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。2.7サポートを発表Google、Lookerの買収完了を発表。Enterprise、BtoBスタートアップ向け支援プログラムで無料提供と発表。Networksの買収を正式発表。Terminal」機能確定版リリース。コマンドラインからIssueやプルリクなど実行可能に。usPublickeyについて/運営者についてお問い合わせ広告についてプライバシーポリシ。