アットウィキロゴ

7 > 1haru

どのようしてチームメイトとコードをシェアするでしょうか
驚くべきことに、多くのチームはこの問題にはっきりと答えられず、かわりにただ大きく古い共有ドライブ
すべてのソースコードとそこらじゅうに横たわったその他のファイルをえるだけである。
あくとの数だけ開発者がいるーそれは単純に編集しているファイルをコードにコンパイルするー
はチームのほかのすべての開発者にすぐに影響を与える
彼らの人生は今では断続的で、うれしくない驚きでいっぱいである。

それはまさに感謝祭のキッチンの混雑に似ていて、みんな混雑の中に何かを投げていて、それは働く環境にとてつもない欲求不満をもたらしている。
このようにして多くのチームが動作を続けているあいだ、あなたは安全でより専門的な立場を得ることができるでしょう。
これは、あなたの道具やインフラに重大な影響を与えるでしょう、なので最初から右ストレートを取得する必要がある。

そこには、たった一つの基本的なルールを頭の中にとどめておいてほしい。:他の仕事はあなたの準備ができるまであなたの仕事の影響から隔離されます
そういうわけで私たちはこのサンドボックス開発と呼ぶ。すべての開発者は他の開発者の詳細なしでする彼ら自身のサンドボックス開発を持っている。

それは、簡単そうに聞こえるかもしれません、特に中期的にソースコードが隔離されているときは、しかし、実際の策略では
すべての資源があらわれることを覚えておいてほしい。:ソースコードやデータベース、インスタンス、依頼したウェブサービス等等。

あなた自身の開発の機械はあなた自身の生産に貢献するデザインにするべきである。
世界のビルドのプロセスの貢献すべきでない何か-それは、他のだれかが何かのために直接頼りにすべきではない

しかし、どのようにして他の開発者はあなたのコードを得ますか?
コードは倉庫(レポジトリ)を経由して共有されます。
レポジトリは大きな机を共有すると考えられます、しかし、それは司書によって管理されます。
その司書は、全員のバージョンのファイル(または他の資源)が彼らが必要とし、全員がお互いを追い払わずに仕事ができるように正しいか確認する
すべての開発者はソフトウェアツールをチェックインとチェックアウトし(まるで実際の図書室のように)使う、なので彼らはローカルで仕事をすることができる

自分自身の開発マシーン上で、ソースコードファイルのローカルコピーの編集やコンパイルやビルドやテストをチームメイトからすばらしく分離する。
もし、開発の最中にデータベースやウェブサーバやその他の資源を使う必要があるとき、念のため1つだけ使うでしょう。
コードの一部を作り終え、それに満足しているとき、レスポンスにより確認する。

しかしそのとき、どうのようにして、カスタマーは完成した製品を得るのでしょう。
開発の機械やレポジトリに加えて、ビルドマシーンも持つ。
ビルドマシーンはレポジトリやビルド、テストしたものから単純に最新のソースコードを繰り返し得る無人のサーバです。
そのビルドの結果製品はリリースされます。

たいていの時間は、リリースはどのビルドの後でもただ投げられるだけである。
しかし、時々山積みのかけらであるカスタマーやエンドユーザに送るでしょう。
苦労と汗の一ヶ月のあとの普通午前10時のビルドまたは最終リリースのどちらかと同じにビルドされる。

それはいつも一貫している。なぜならビルドマシーンは独立した存在だからだ。
:それは、どんな理由でも個人の開発のマシーンを見ることはできない。
ビルドにインプットすることは、レポジトリや全体のプロセスからのアウトプットはビルドマシーンの指定になる。
このシステムの仕事は開発者がカンニングをしない限り偉大である。

/*
job ask
ビルドマシーンがビルドされリリースされるボックスだろうとそうでないだろうと。
  • コードはあなたの消費者に送られる。
しかしながら、ビルドボックスそして送られた商品のビルドボックスの両方は同じスクリプトで使われ、
かれらのソースとして同じレポジトリで使われるなどなど。

いくつかの違いとして、マークをつけると知られているレポジトリ内の出荷ビルドの作成の新しい分野またはタグかもしれな、
コードのリリースのセット、またはたぶん出荷ビルドをさまざまなプラットフォームのインストーラーのコードで包む。

/


時々「サンドボックス内に留まる」のは難しい、特にもしデータベースの使用許可やウェブサーバのポートが少ししか供給されない場合ではである。
たぶんひとつのデータベースを用いるでしょう、しかし、どの開発者もインスタンスを分けて作るでしょう。
もしくは、ひとつのデータベースをひとつのインスタンスで使うことを強制されるとき、
たぶんデータのスペースを区切るでしょう(例えばジョーはテストデータの記録の割り当てを1000-1999にして、スーは2000-2999にする)。
これは、まだあなたに干渉のリスクを残しています、しかし、無いよりはましである。

ウェブサービスのようなほかの資源で、すべての開発者は彼ら自身のインスタンスで明確なショットを持っている
(彼らはこれに対抗するテストかサービスの供給)

この頭の中に隔離された基礎のアイディアで、いくつかのツールやサンドボックスの効果を達成するために必要とするであろうインフラのほかのかけらを見つけましょう。

タグ:

+ タグ編集
  • タグ:
最終更新:2011年07月01日 14:54