SlideShare una empresa de Scribd logo
1 de 95
Mozillaにおけるビルドインフラ
   Makoto Kato / Mozilla Japan
Infra service


• Mozilla.org開始時から

• Bug   Tracking System (Bugzilla)

• Version   Control System (CVS) / Viewer (Bonsai)

• Automation    building (Tinderbox)
Agenda


• ソースコード管理など

• Automations!

 • Building

 • Testing

• etc
VCS / REPOSITORY
Version Control System


• http://git.mozilla.org/
                     or
 https://github.com/mozilla/ for GIT (mirror)

• http://hg.mozilla.org/    for mercurial

• cvs.mozilla.org   / cvs-mirror.mozilla.org for CVS

• svn.mozilla.org   for subversion
VCS history

• mozilla.org設立時はCVS、Firefox   3.5からMercurial

• githubにも現在ミラーが存在      (Mozillaで同期してます)

• B2Gはgithub。B2G上のGeckoはgithubにあるミラーを利
 用

• NSPRやNSSは引き続きCVS     (GoogleとかRedHatとかが
 使ってるし)

• 通常git使って、land時だけmercurial使う人もいる
Repositories
mozilla-central

• 従来から使われている。通称Trunk

• Nightly
       channelで使われるもの。NightlyはPSTの
 AM12:00ごろからビルドスタート

• テスト失敗はlandした張本人がケアする必要あり

         or ryanvmなど)がmozilla-inboundからマー
• コビトさん(ed
 ジしてくれる (Firefox teamは彼らでマージ)
mozilla-inbound
• 開発者みんなが主に使ってるレポジトリ

• テストが失敗したかどうかをlandした張本人がケアする必要
がない

 • ちょっとしたtypoだと、r=bustageで直すけど

• ビルド   or テストがこけたらコビトさん達が問答無用にバックア
ウト

• コビトさん達がm-cにマージしてくれる(1日2回程度)
Why Inbound?

• DeveloperのPainを解消する

 • 常にテストを成功したかどうかをチェックしないといけない

 • Bustageかどうかの確認

 • PGO対策     (Compiler Bug?)

• 成功しなければバックアウトされるだけなので、ツリーを監視
 する必要なし

• Staff?   もういらなくなった
Project Repositories

• fx-team   … m-cへのマージ用にFirefox teamが利用

• UX   … Firefox teamのテスト実装用

• Alder   … 現在はWebRTC用

• Elm   … 現在はWindows Metro版用

• Ionmonkey   … New Baseline JIT用にJavaScript Teamが
 使用

• などなど
Build automations


• 各プロジェクトごとにビルド設定を決められる

• Nightlyを有効にするかどうか

• ビルドターゲット

• 場合によって、toolchainを変えたりもしてる
User Repository


• Level
    1権限以上を持つと、hg.mozilla.org/users/<自分
 のメアド>に自分専用レポジトリを持つことが可能

• sshでhg.mozilla.orgに入って管理

• https://developer.mozilla.org/en-
 US/docs/Creating_Mercurial_User_Repositories
Access Permission

• Level   1-3まである

 • Level   1 … try server

 • Level   2 … Project Repository

 • Level   3 … mozilla-central

• Mozillaに入社してもLevel        3もらえない (Level 1だけ)

• ゲットするにはVocheが必要
Mercurial hook

• Land時にコメントが正しくない場合はlandを受け付けない仕
組みを導入

• Treeのステータスに応じてコメントフォーマットが決まってる

• Aurora
       / beta などのレポジトリでは、コメントのフォーマット
 にa=xxxxがないとlandを受け付けない

• Tree   ClosedのときはCLOSE TREEを入れないと受け付け
 ない
Approval?



• Aurora、Betaなどでは、Approvalがないとチェックインダメ

• Blocking+のFlagがBugzillaについている場合はいらない
Checkin-needed


• コミット権限のない人がバグを修正する場合どうするか?

• review+をもらったら、Bugzilla上にcheckin-neededをつけ
るとコビトさん達がlandしてくれます
3rd party source code in m-c

• Firefoxでは他のOSSのライ
ブラリをいろいろ利用

•   about:license

• 基本的にはUpstreamへの
修正+*.patchファイルをレ
ポジトリにland
Source Code Indexing

• mxr.mozilla.org

 • 某ライセンス品をカスタマイズしてる

 • mozilla-central
             / mozilla-aurora / mozilla-beta から
  Chromiumまでいろいろとインデックス対象

• dxr.mozilla.org

 • Mozilla謹製のインデクサ
Aside: GAIA/B2G


• GAIAはルールが異なる

• Githubでハンドリング

• http://github.com/mozilla-b2g/gaia/

• Firefox   OS v1まではちょっとルールが変更になる

 • blocking-basecampものはBugzillaでも管理
AUTOMATIONS
とある会社の例
…
Automations

• Automation    buildingに使われるもの

 • VMWare   ESX

 • Amazon   AWS (for Linux builders)

 • Mac   mini

• Automation用のインスタンス数は約1500以上
Automations

• Automation   Testing (additional)

 • Windows    7 (nVIDIAのGPU搭載。HWAテスト)

 • nVIDIA   Tegra 2 Development board

 • Pandaboard    (B2G)

 • etc
Target platforms
• Tier   1 (full support and stable release )

 • Windows     x86 (MSVC10)

 • OSX    x86 / x86-64 (clang 3.1)

 • Linux   (GTK+2) x86 / x86-64 (gcc 4.5)

 • Android    armv6 / armv7 (NDK r5c)

 • B2G    armv6 (for Telefonica device) / armv7 (Panda)
Target Platforms
• Tier   2 (support automation building)

 • Windows     x64 (Tier 3に格下げ)

• Tier   3 (by not Mozilla?)

 • Linux   (non-intel) / Linux Qt

 • *BSD    (OpenBSDの中の人がメンテ)

 • OS/2    (ドイツ方面)

 • Solaris   (Oracle Chinaの中の人がメンテ)
Test Target Platforms


• Windows    XP / Windows 7

• OSX   10.6 / 10.7 / 10.8

• Linux   (Fedora 12)

• Android   2.2

• B2G   (based on ICS)
Tinderbox
Tinderbox
• 要はbuildbot

• 1998年のMozilla.org設立
時に作成されたもの

• Landごとにビルド

• Orange   / Red時にはコメン
ト必須

• NPOBとかのコメントを入れ
れば自動ビルドされない
Tree Status
Tree Status
• Open

 • 通常の状態。誰もがland可能

• Closed

 • ネットワークトラブル等でland不可能の状態

 • CLOSED    TREEコメントを入れればland可能

• Approval

 • 誰かの許可が必要。a=xxxのログが必要
Tbpl (TinderBox Push Log)


• Tinderboxの後継版

• http://tbpl.mozilla.org/


• そもそもはテスト失敗を調べ
るためのツールが正式ツー
ルへ
Self service build interface

• 自動ビルドをコントロール

• 自動ビルドが始まった場合
に止めることが可能

• 他人のも可

• 強制clobberやPGO build
やNightly buildのキックも
可能
Web Tools



• 今までのものはREST   APIとしても提供されている

• tbplもSelf
         Service buildもREST API経由でAutomation
 Builderにアクセス
B2G? GAIA?
Machine Assignment


• Automation   BuildとAutomation Testは別のマシンが割り
当てられる

 • BuildはVM、Testは実際のクライアント

 • できる限り並列化!
Random Orange

• テストの中でもよく失敗するもの(Random   Orangeと呼んで
ます)が結構ある

• マウスとかエディットとかフォーカスとか

• どれがwell-knownかどうかなんて知ってる人しかわからな
 い

• Well-knownの場合はコメントを入れること!

 • 対応するBuzillaのバグにもコメントを入れる
Suggestion for failure
New Test failure


• 自分のlandが原因ではないRandom       Orangeが発生した場
合は、Bugzillaへバグを登録

• Keywordへintermittent-failureを入れること

• Tbplで自動的に拾ってくれるようになります
Try server

• Land前にテストが失敗しないかどうかとかをテストするための
もの

• お試しlanding+Automation   Testingが可能

• 作成したビルドはpublicのFTPサーバーに置かれる

 • 数日で削除

• あまりにも便利すぎて、クロ何とかというブラウザの開発にも同
様のものが導入されてます
How to use try server
     1のチェックイン権限(10から20個くらいのバグの修
• 要Level
 正すればもらえる)

• ssh://hg.mozilla.org/tryへ以下のコメントを修正ともにland
 するだけ
 try: -b do –p all –u all –t none

• Try   Chooser

 • http://trychooser.pub.build.mozilla.org/
Reftest / CrashTest


• 二つのHTMLを比較して”画像的に”正しいかどうかを判断す
るテスト

• 新しいCSSで書いたもの     VS 従来のCSSで書いたものとか

• HTMLやXULのRendering   Testで利用

• 何とかKitというRendering   Engineにも採用されてる
MochiTest

• ブラウザ上で動くテストツール

• 主にUIとかchromeなところのテスト

• Chrome権限が必要な場合はSpecialPowersを利用

 • https://developer.mozilla.org/en-
  US/docs/SpecialPowers

• タイミング依存するテストが多数あるのでよく失敗する            (= 自
分の開発環境ですべてパスするのを見ることは稀)
MochiTest
http.js

• RefTestやMochiTestで利用されるXPCOM     baseのHTTP
Server

• 当然JavaScriptで書いてあるので、Firefoxで動かそうと思
 えば動くはず

• HTTPヘッダとかも書き換えられます

• サーバーサイドJavaScript   (*.sjs) まで
JSReftest


• JavaScriptエンジン自体のテスト

• Browser   GUI上で動作する

• テスト結果を”コンソール”に出力       (dumpで)
xpcshell-test


• コマンドラインで動くXPCOMテスト

• JavaScriptで書く

• UIを利用しない際に使われる

 • 主にXPCOMの実装テスト
xpcshell-test
Unit tests


• make   check時に動作する単体テスト

 • クロスなビルド環境   (Android / B2G) の場合は実行されな
 い

• xpcshell-testで書けないときに用いられる(主にC++)

• Javascriptの単体テストにも利用   (make jit-tests)
Marionette


• Re-Implement    WebDriver for Firefox

 • Also,   work on chrome permission!

• B2GのWebAPI用

• B2G   Emulator (QEMU) 上でのテスト

• Remote    (Cross) Target向け
MozMill



• https://developer.mozilla.org/en-US/docs/Mozmill

• PythonでFirefoxやThunderbirdをコントロールしてテスト

• Thunderbirdで標準利用
Automation Test


• これだけのテストを実行して、パスしないとバックアウト対象に
なる

• Tier   1はすべてパスしなければいけない!

• 各テストをすべて動かすと約5時間かかるので、並列に実行
して1時間強で終わるようにしてる
手動テスト?

• 自動ではないQA      Teamによるテスト項目も存在する

 • リリース前のテストとか

 • Android版のUIテスト

• MozTrap

 • 自動テストでカバーできないもののため

 • https://github.com/mozilla/moztrap
MozTrap
Talos

• Performance      Test Suite

• TP5

• Start   up time (clean profile / dirty profile)

• Dromaeo

• Memory      usages

• etc
Talos


• 結果は常にtbpl上から確認可能

• Improve
        / regressionした場合は、
news://news.mozilla.org/mozilla.dev.tree-
management にポストされる

• Performance   regression が認められるとバックアウト対象
Talos
Improvement! Dromaeo (DOM) increase 2.95% on MacOSX 10.8 Mozilla-Inbound
------------------------------------------------------------------------
 Previous: avg 387.749 stddev 4.044 of 30 runs up to revision ab440f162ab8
 New : avg 399.169 stddev 1.899 of 5 runs since revision a4c6aedf00de
 Change : +11.420 (2.95% / z=2.824)
 Graph : http://mzl.la/U77MBy

Changeset range: http://hg.mozilla.org/integration/mozilla-
inbound/pushloghtml?fromchange=ab440f162ab8&tochange=a4c6aedf00de

Changesets: * http://hg.mozilla.org/integration/mozilla-
inbound/rev/a4c6aedf00de
 : Bill McCloskey <wmccloskey@mozilla.com> - Backout a6b604916694 (bug
747066) because it's broken
 : http://bugzilla.mozilla.org/show_bug.cgi?id=747066

Bugs:
 * http://bugzilla.mozilla.org/show_bug.cgi?id=747066 - xpc_UnmarkGrayObject
is slow
PERF-O-MATIC



• Graph   ServerのWebインターフェイス

 • http://graphs.mozilla.org/

• どっかの何とかKitというのにも今年導入されたはず
PERF-O-MATIC
Telemetry
• ユーザー環境でのパフォーマンスデータ収集のためのツール

• 許可を得てる場合のみ収集

• about:telemetry   add-on
Telemetry Dashboard
AreWe ?
• JavaScript   Performance

 •   http://www.arewefastyet.com/

• Memshrink

 •   https://areweslimyet.com/

• Package   file size

 •   http://www.arewesmallyet.com/

• Snappy

 •   http://arewesnappyyet.com/ (coming)
Crash analyzing
Crash analyzing

• Socorro   (Crash reporter)

 • https://crash-stats.mozilla.com/

• Firefox   3から導入

• 従来はTalkBackという製品を使用

• Socorroはその解析用サーバー・Webインターフェイスの総
 称
Client


• GoogleとMozillaでやってるbreakpadを利用

• Breakpadはクラッシュ時に指定されたサーバーへ
minidump形式のファイルを送る

• about:crashesでクラッシュ情報を確認可能
BreakPad

• 多数のプラットフォームサポート

• Windows    / OSX / Linux / Android / Solaris

• arm   / PPC / SPARC / x86 / x86-64

• PTRACEが動かないとAndroidでダンプ取れないけどね!
 (SHARP製Androidは無理)

• クラッシュ時にminidump形式のファイルを作成

• スタック上のメモリと各スレッドのコンテキストを保持
Server

• Automation
       build時にmake buildsymbolsで作成された
シンボル情報(ソースラインと関数名)を蓄積

 • Symbol   Dumperはbreakpadのソースコードにある

• クラッシュデータが送られたときにそれをもとにスタック情報を
生成

 • AndroidでJava内でのUnhandled   Exceptionの場合は
  AppNoteにログ
Automation


• Painが存在するんであればそれを自身で解決する方法を考
えよう

• テストをチェックしないといけないんであれば、できる限りテスト
をチェックしなくてもいいことを!

• 人手がなければ頭を使えばいい!
Automation
• 一つの修正だけでも多くのテストを実行してます

• Less   Regression!

• Mozillaだけでこんなにテストしてもしょうが無いので将来的に
は、W3Cのための自動テストフレームワークを作ろうって話も

• For   compatibility!

• でも手動テストもいる

• これは省きたいと思ってる

• パフォーマンステスト項目もいろいろ追加してる
Communications

• We    are REMOTE!

 • Auckland? London? Mountain View? Paris? San
  Francisco? Taipei? Tokyo? Toronto? Vancouver?

• Meetings

• Mailing   List

• IRC

• Work   Week
Meeting
• Weekly   Status

 • 全体

• Product   (Firefox / Android / B2g)

 • 製品特化

• Platform   (GFX / DOM / GAIA / all / etc)

 • Platform   Development
IRC
• #developers             • Mobileバージョン(現在は
                           Firefox for Androidのみ)
 • 全般的な開発むけ                向け

• #introduction          • #windev

 • Mozillaのコードを触り始め       • Windows   版開発者専用
  た人向け
                         • #maildev
• #gfx
                          • Thunderbird   Team用
 • GFX   / Layout team
                         • など
• #mobile
IRC


• 当然botいます     (mozbot/firebot)

 • http://ftp.mozilla.org/pub/mozilla.org/webtools/

• firebot:!seen <user name>
 firebot: uuid
Remote, but…


• WorkWeek

 • 各地にいる人が集まって、集中的に仕事する週間

• Vidyo

 • ビデオ会議するために導入
Mozillaのビルドインフラ

Más contenido relacionado

La actualidad más candente

室内空調シミュレーション手順書
室内空調シミュレーション手順書室内空調シミュレーション手順書
室内空調シミュレーション手順書murai1972
 
dotnetconfJP2017_netcore2
dotnetconfJP2017_netcore2dotnetconfJP2017_netcore2
dotnetconfJP2017_netcore2Yusuke Fujiwara
 
Layout analyzerでのgroovyの利用について
Layout analyzerでのgroovyの利用についてLayout analyzerでのgroovyの利用について
Layout analyzerでのgroovyの利用についてkimukou_26 Kimukou
 
node.js koとhtml5とwebsocketsと
node.js koとhtml5とwebsocketsとnode.js koとhtml5とwebsocketsと
node.js koとhtml5とwebsocketsとscdn
 
いつやるの?Git入門 v1.1.0
いつやるの?Git入門 v1.1.0いつやるの?Git入門 v1.1.0
いつやるの?Git入門 v1.1.0Masakazu Matsushita
 
Taming robotframework
Taming robotframeworkTaming robotframework
Taming robotframework泰 増田
 
AsyncTask アンチパターン
AsyncTask アンチパターンAsyncTask アンチパターン
AsyncTask アンチパターンHiroshi Kurokawa
 
JavaScript Tips 2015(PDF 版)
JavaScript Tips 2015(PDF 版)JavaScript Tips 2015(PDF 版)
JavaScript Tips 2015(PDF 版)taskie
 

La actualidad más candente (11)

室内空調シミュレーション手順書
室内空調シミュレーション手順書室内空調シミュレーション手順書
室内空調シミュレーション手順書
 
dotnetconfJP2017_netcore2
dotnetconfJP2017_netcore2dotnetconfJP2017_netcore2
dotnetconfJP2017_netcore2
 
Layout analyzerでのgroovyの利用について
Layout analyzerでのgroovyの利用についてLayout analyzerでのgroovyの利用について
Layout analyzerでのgroovyの利用について
 
Play jjug2012spring
Play jjug2012springPlay jjug2012spring
Play jjug2012spring
 
node.js koとhtml5とwebsocketsと
node.js koとhtml5とwebsocketsとnode.js koとhtml5とwebsocketsと
node.js koとhtml5とwebsocketsと
 
いつやるの?Git入門 v1.1.0
いつやるの?Git入門 v1.1.0いつやるの?Git入門 v1.1.0
いつやるの?Git入門 v1.1.0
 
Taming robotframework
Taming robotframeworkTaming robotframework
Taming robotframework
 
AsyncTask アンチパターン
AsyncTask アンチパターンAsyncTask アンチパターン
AsyncTask アンチパターン
 
JavaScript Tips 2015(PDF 版)
JavaScript Tips 2015(PDF 版)JavaScript Tips 2015(PDF 版)
JavaScript Tips 2015(PDF 版)
 
Decsx launcherv 2.5
Decsx launcherv 2.5Decsx launcherv 2.5
Decsx launcherv 2.5
 
TruffleSqueakの紹介
TruffleSqueakの紹介TruffleSqueakの紹介
TruffleSqueakの紹介
 

Destacado

e10sとアプリ間通信
e10sとアプリ間通信e10sとアプリ間通信
e10sとアプリ間通信Makoto Kato
 
Firefox 4 with SVG
Firefox 4 with SVGFirefox 4 with SVG
Firefox 4 with SVGMakoto Kato
 
Firefox mobile for android internals
Firefox mobile for android internalsFirefox mobile for android internals
Firefox mobile for android internalsMakoto Kato
 
Active scripting
Active scriptingActive scripting
Active scriptingMakoto Kato
 
AWSでGPUも安く大量に使い倒せ
AWSでGPUも安く大量に使い倒せ AWSでGPUも安く大量に使い倒せ
AWSでGPUも安く大量に使い倒せ Yasuhiro Matsuo
 

Destacado (9)

Mobile Web
Mobile WebMobile Web
Mobile Web
 
Raindrop
RaindropRaindrop
Raindrop
 
e10sとアプリ間通信
e10sとアプリ間通信e10sとアプリ間通信
e10sとアプリ間通信
 
Emoji
EmojiEmoji
Emoji
 
Firefox 4 with SVG
Firefox 4 with SVGFirefox 4 with SVG
Firefox 4 with SVG
 
Think.next
Think.nextThink.next
Think.next
 
Firefox mobile for android internals
Firefox mobile for android internalsFirefox mobile for android internals
Firefox mobile for android internals
 
Active scripting
Active scriptingActive scripting
Active scripting
 
AWSでGPUも安く大量に使い倒せ
AWSでGPUも安く大量に使い倒せ AWSでGPUも安く大量に使い倒せ
AWSでGPUも安く大量に使い倒せ
 

Similar a Mozillaのビルドインフラ

ALMツールたべくらべ
ALMツールたべくらべALMツールたべくらべ
ALMツールたべくらべKaoru NAKAMURA
 
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!Masaki Muranaka
 
A 2-1 gitwebmatrix 2 から使う node.js on windows azure
A 2-1 gitwebmatrix 2 から使う node.js on windows azureA 2-1 gitwebmatrix 2 から使う node.js on windows azure
A 2-1 gitwebmatrix 2 から使う node.js on windows azureGoAzure
 
Moq & Fakes Framework を使った実践的ユニットテスト - BuildInsider
Moq & Fakes Framework を使った実践的ユニットテスト - BuildInsiderMoq & Fakes Framework を使った実践的ユニットテスト - BuildInsider
Moq & Fakes Framework を使った実践的ユニットテスト - BuildInsider貴志 上坂
 
【de:code 2020】 Azure Bot Services を使って Teams bot を開発する
【de:code 2020】 Azure Bot Services を使って Teams bot を開発する【de:code 2020】 Azure Bot Services を使って Teams bot を開発する
【de:code 2020】 Azure Bot Services を使って Teams bot を開発する日本マイクロソフト株式会社
 
ここが変わったTizen sdk2.0alpha
ここが変わったTizen sdk2.0alphaここが変わったTizen sdk2.0alpha
ここが変わったTizen sdk2.0alphaHiroshi Sakate
 
20140926 mt cloud_handson_seminar
20140926 mt cloud_handson_seminar20140926 mt cloud_handson_seminar
20140926 mt cloud_handson_seminarSix Apart
 
Play framework 2.0のおすすめと1.2からのアップグレード
Play framework 2.0のおすすめと1.2からのアップグレードPlay framework 2.0のおすすめと1.2からのアップグレード
Play framework 2.0のおすすめと1.2からのアップグレードKazuhiro Hara
 
Git & GitHub & kintone でウルトラハッピー!
Git & GitHub & kintone でウルトラハッピー!Git & GitHub & kintone でウルトラハッピー!
Git & GitHub & kintone でウルトラハッピー!ymmt
 
継続的インテグレーション3分クッキング
継続的インテグレーション3分クッキング継続的インテグレーション3分クッキング
継続的インテグレーション3分クッキングTakayuki Kondou
 
Composer による依存管理 と Packagist によるライブラリの公開
Composer による依存管理 と Packagist によるライブラリの公開Composer による依存管理 と Packagist によるライブラリの公開
Composer による依存管理 と Packagist によるライブラリの公開Shogo Kawahara
 
GitHubのリポジトリ(32個)を 覗いてみよう。 ただし、READMEだけね
GitHubのリポジトリ(32個)を 覗いてみよう。 ただし、READMEだけねGitHubのリポジトリ(32個)を 覗いてみよう。 ただし、READMEだけね
GitHubのリポジトリ(32個)を 覗いてみよう。 ただし、READMEだけねNaoto TAKAHASHI
 
Firefox 3.1 In Depth (?)
Firefox 3.1 In Depth (?)Firefox 3.1 In Depth (?)
Firefox 3.1 In Depth (?)dynamis
 
Web Technology features with Firefox 3.6 / Gecko 1.9.2 and later
Web Technology features with Firefox 3.6 / Gecko 1.9.2 and laterWeb Technology features with Firefox 3.6 / Gecko 1.9.2 and later
Web Technology features with Firefox 3.6 / Gecko 1.9.2 and laterMakoto Kato
 
Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話
Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話
Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話JustSystems Corporation
 
分散バージョン管理システムって何なん 20101218
分散バージョン管理システムって何なん 20101218分散バージョン管理システムって何なん 20101218
分散バージョン管理システムって何なん 20101218Takashi Okamoto
 
Chromebook 「だけ」で WebRTCを動かそう
Chromebook 「だけ」で WebRTCを動かそうChromebook 「だけ」で WebRTCを動かそう
Chromebook 「だけ」で WebRTCを動かそうmganeko
 
DXライブラリでMMO作ったよ!
DXライブラリでMMO作ったよ!DXライブラリでMMO作ったよ!
DXライブラリでMMO作ったよ!h2so5
 

Similar a Mozillaのビルドインフラ (20)

ALMツールたべくらべ
ALMツールたべくらべALMツールたべくらべ
ALMツールたべくらべ
 
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!
 
A 2-1 gitwebmatrix 2 から使う node.js on windows azure
A 2-1 gitwebmatrix 2 から使う node.js on windows azureA 2-1 gitwebmatrix 2 から使う node.js on windows azure
A 2-1 gitwebmatrix 2 から使う node.js on windows azure
 
Moq & Fakes Framework を使った実践的ユニットテスト - BuildInsider
Moq & Fakes Framework を使った実践的ユニットテスト - BuildInsiderMoq & Fakes Framework を使った実践的ユニットテスト - BuildInsider
Moq & Fakes Framework を使った実践的ユニットテスト - BuildInsider
 
Modulemaking
ModulemakingModulemaking
Modulemaking
 
【de:code 2020】 Azure Bot Services を使って Teams bot を開発する
【de:code 2020】 Azure Bot Services を使って Teams bot を開発する【de:code 2020】 Azure Bot Services を使って Teams bot を開発する
【de:code 2020】 Azure Bot Services を使って Teams bot を開発する
 
ここが変わったTizen sdk2.0alpha
ここが変わったTizen sdk2.0alphaここが変わったTizen sdk2.0alpha
ここが変わったTizen sdk2.0alpha
 
20140926 mt cloud_handson_seminar
20140926 mt cloud_handson_seminar20140926 mt cloud_handson_seminar
20140926 mt cloud_handson_seminar
 
Play framework 2.0のおすすめと1.2からのアップグレード
Play framework 2.0のおすすめと1.2からのアップグレードPlay framework 2.0のおすすめと1.2からのアップグレード
Play framework 2.0のおすすめと1.2からのアップグレード
 
Git & GitHub & kintone でウルトラハッピー!
Git & GitHub & kintone でウルトラハッピー!Git & GitHub & kintone でウルトラハッピー!
Git & GitHub & kintone でウルトラハッピー!
 
継続的インテグレーション3分クッキング
継続的インテグレーション3分クッキング継続的インテグレーション3分クッキング
継続的インテグレーション3分クッキング
 
Composer による依存管理 と Packagist によるライブラリの公開
Composer による依存管理 と Packagist によるライブラリの公開Composer による依存管理 と Packagist によるライブラリの公開
Composer による依存管理 と Packagist によるライブラリの公開
 
GitHubのリポジトリ(32個)を 覗いてみよう。 ただし、READMEだけね
GitHubのリポジトリ(32個)を 覗いてみよう。 ただし、READMEだけねGitHubのリポジトリ(32個)を 覗いてみよう。 ただし、READMEだけね
GitHubのリポジトリ(32個)を 覗いてみよう。 ただし、READMEだけね
 
Firefox 3.1 In Depth (?)
Firefox 3.1 In Depth (?)Firefox 3.1 In Depth (?)
Firefox 3.1 In Depth (?)
 
Web Technology features with Firefox 3.6 / Gecko 1.9.2 and later
Web Technology features with Firefox 3.6 / Gecko 1.9.2 and laterWeb Technology features with Firefox 3.6 / Gecko 1.9.2 and later
Web Technology features with Firefox 3.6 / Gecko 1.9.2 and later
 
Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話
Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話
Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話
 
分散バージョン管理システムって何なん 20101218
分散バージョン管理システムって何なん 20101218分散バージョン管理システムって何なん 20101218
分散バージョン管理システムって何なん 20101218
 
Chromebook 「だけ」で WebRTCを動かそう
Chromebook 「だけ」で WebRTCを動かそうChromebook 「だけ」で WebRTCを動かそう
Chromebook 「だけ」で WebRTCを動かそう
 
DXライブラリでMMO作ったよ!
DXライブラリでMMO作ったよ!DXライブラリでMMO作ったよ!
DXライブラリでMMO作ったよ!
 
Moz2D
Moz2DMoz2D
Moz2D
 

Más de Makoto Kato

Firefox OSのアーキテクチャと構成技術
Firefox OSのアーキテクチャと構成技術Firefox OSのアーキテクチャと構成技術
Firefox OSのアーキテクチャと構成技術Makoto Kato
 
Openness, Innovation and Opptunity
Openness, Innovation and OpptunityOpenness, Innovation and Opptunity
Openness, Innovation and OpptunityMakoto Kato
 
Firefox 4 and Mobile
Firefox 4 and MobileFirefox 4 and Mobile
Firefox 4 and MobileMakoto Kato
 
Firefox for mobile
Firefox for mobileFirefox for mobile
Firefox for mobileMakoto Kato
 
ブラウザの歴史
ブラウザの歴史ブラウザの歴史
ブラウザの歴史Makoto Kato
 
CSS3の最新事情
CSS3の最新事情CSS3の最新事情
CSS3の最新事情Makoto Kato
 
FirefoxとMozillaでのSVGの取り組み
FirefoxとMozillaでのSVGの取り組みFirefoxとMozillaでのSVGの取り組み
FirefoxとMozillaでのSVGの取り組みMakoto Kato
 
Thunderbird 3のご紹介と企業に求められるカスタマイズ
Thunderbird 3のご紹介と企業に求められるカスタマイズThunderbird 3のご紹介と企業に求められるカスタマイズ
Thunderbird 3のご紹介と企業に求められるカスタマイズMakoto Kato
 
js-ctypes - ネイティブコードを呼び出す新しいカタチ
js-ctypes - ネイティブコードを呼び出す新しいカタチjs-ctypes - ネイティブコードを呼び出す新しいカタチ
js-ctypes - ネイティブコードを呼び出す新しいカタチMakoto Kato
 

Más de Makoto Kato (13)

Firefox OSのアーキテクチャと構成技術
Firefox OSのアーキテクチャと構成技術Firefox OSのアーキテクチャと構成技術
Firefox OSのアーキテクチャと構成技術
 
Openness, Innovation and Opptunity
Openness, Innovation and OpptunityOpenness, Innovation and Opptunity
Openness, Innovation and Opptunity
 
Firefox Mobile
Firefox MobileFirefox Mobile
Firefox Mobile
 
Firefox 4 and Mobile
Firefox 4 and MobileFirefox 4 and Mobile
Firefox 4 and Mobile
 
Mobile addon
Mobile addonMobile addon
Mobile addon
 
keep it real
keep it realkeep it real
keep it real
 
Firefox for mobile
Firefox for mobileFirefox for mobile
Firefox for mobile
 
"Open"
"Open""Open"
"Open"
 
ブラウザの歴史
ブラウザの歴史ブラウザの歴史
ブラウザの歴史
 
CSS3の最新事情
CSS3の最新事情CSS3の最新事情
CSS3の最新事情
 
FirefoxとMozillaでのSVGの取り組み
FirefoxとMozillaでのSVGの取り組みFirefoxとMozillaでのSVGの取り組み
FirefoxとMozillaでのSVGの取り組み
 
Thunderbird 3のご紹介と企業に求められるカスタマイズ
Thunderbird 3のご紹介と企業に求められるカスタマイズThunderbird 3のご紹介と企業に求められるカスタマイズ
Thunderbird 3のご紹介と企業に求められるカスタマイズ
 
js-ctypes - ネイティブコードを呼び出す新しいカタチ
js-ctypes - ネイティブコードを呼び出す新しいカタチjs-ctypes - ネイティブコードを呼び出す新しいカタチ
js-ctypes - ネイティブコードを呼び出す新しいカタチ
 

Mozillaのビルドインフラ