1

私が扱うプロジェクト ビルドの 1 つを、可能な限り私 (CM) から独立したものにすることを考えています。これは、スクリプト/ツールによる自動化だけを意味するものではありませんが、それには間違いなく含まれています。これは混乱の多いプロジェクトであるため、「完全な」自動化は現実的ではありません。

これが私が目指しているものです:

初心者の CM や、CM の経験がない開発者など、誰でも (ある程度の自動化とドキュメント/ガイドラインを使用して) ビルドを実行できる必要があります。

私の最初の考えは、次の方法でこれを達成することです。

  1. ビルド リクエスト プロセスを成功させる (ビルドに必要なすべての詳細を取得するビルド フォームを使用して、誰かの頭の中にあるという理由だけで何も見落とされないようにする)

  2. 一連のコマンドとして簡単なドキュメントにキャプチャできるように、ビルド手順を簡素化します-訓練されたサルはビルドで実行できるはずです(まあ..侮辱を投げかけるわけではありませんが-あなたはアイデアを得る:-))

  3. ツールの機能を徹底的に使用して (ANT、SVN を参照)、潜在的な問題を事前に把握し、障害や問題が発生した場合により優れたアラートを提供できるようにします。

  4. 私が数日間の休暇について言及するたびに、プロジェクトマネージャーがパニック発作を起こすことなく、病気になったり、時折休暇を取ったりする自由があります。:-)

この方向で私を助けるために、いくつかの考えやアイデアがあればうれしいです。皆さんありがとう!

4

3 に答える 3

2

Urbancodeでは、これを「Bob the Builder」アンチパターンと呼んでいます。良いニュースは、ボブ (あなた) がループから抜け出したいということです。ビルド担当者が休暇に行けなかったり、プロセスの一部が停止しない限り病気になったりする場合は、実際には容認できない問題があります。もし私がベッティングマンなら、プロセスを「訓練された猿」のレベルまで単純化するプロセスを開始すると、頭が良くて実際に追加できるのに、なぜこのような単純なことをすることに時間を費やしているのか疑問に思うでしょう.どこかに価値がある。

私たちの本の「ボブ・ザ・ビルダー」症候群の症状:

  1. ビルド、または特定のタイプのビルドのすべてのリクエストは、個人または小規模なチームを通過します。
  2. これらのビルド リクエストへの応答は、開発者にとって厄介なほど遅くなります。ビルド チームが昼食中の場合は、何時間も待ちます。
  3. ボブ、またはボブのチームは、時間のかなりの部分を単純作業に費やしています。
  4. ボブ一家がその日家に帰ったり、ランチに行ったり、休暇に行ったり、病気になったりすると、チームが物事を成し遂げる能力が妨げられます。

AnthillProのお客様には、この種のものをすべてオートメーションにプッシュするように伝えています。異なるマシン、異なるビルド番号などを使用する 2 つのビルド タイプがあることは問題になりません。

最初のステップは、プロセスを単純化することです。「訓練された猿」のプロセスに取り掛かることができるように、できるだけ複雑なものを取り除いてください。何かがそれに近づいたら、サルをコンピューターに置き換えるのは非常に簡単です。

もっと具体的なアドバイスをしたいのですが、カオス以外に複雑さがどこから来るのかを教えてくれなかったと思います。この状況では、無秩序で悪い慣行を攻撃する必要がある場合があります。「このソース コードのベースラインとその 2 つのファイルとこれらの 3 つのファイル」というビルドを行っていますか? それはトリッキーで、おそらくループ内に CMer が必要です。禁止する方法を見つけてください。それを「ブランチを作成し、そのブランチに特定の変更を加える」に置き換えると、そのサルがビルドを実行できるようになります。

これらの変更はリスクが高いと主張できるはずです。あなたが優秀であっても、悪い日もあり、人的ミスを可能な限り排除したいと考えています。同時に、開発者とセルフ サービス (おそらく開発者と管理者が望んでいる) への迅速な対応を求めている場合は、自動化可能/モンキー可能にする必要があるものもあります。

より良いフォームを持つことは当面は良いことであり、ツールをうまく使用することは常に良いことですが、私は「訓練されたサル」の問題をかなり積極的に攻撃します. 訓練されたサル (またはコンピューター) が実行できないことはすべて、プロセスを終了する候補となる必要があります。「訓練された猿」の状態になったら、ビルドの自動化を実施して、あなたも開発者も猿になる必要がないようにします。これにより、あなたの役割が "Bob the Builder" から "Bob the Build System Owner" に変わります。

于 2009-01-28T13:00:51.323 に答える
1

一連のコマンドとして簡単なドキュメントにキャプチャできるように、ビルド手順を簡素化します-訓練されたサルはビルドで実行できるはずです(まあ..侮辱を投げかけるわけではありませんが-あなたはアイデアを得る:-))

それが可能であれば、スクリプト (ant、bash、maven、またはその他のスクリプト) を介して 1 つのステップでビルドを実行できるはずです。それがゴールのはずなので、基本的に誰でもビルドできます。

于 2009-01-28T06:57:37.780 に答える
0

ビルド プロセスを開発する目的は次のとおりです。

  1. どこでも空のディレクトリから始めます (必要に応じて、tabula rasa)
  2. 基本ツールの非常に小さなツールがインストールされていることを確認してください(私にとっては、通常はJava + Maven + SVNコマンドラインクライアントです)
  3. SVN/CVS/ から単一のディレクトリをチェックアウトします...
  4. 単一のコマンドを開始します (つまり、25 個のパラメーターを持たないものを意味します)
  5. お待ちください(おそらくかなりの時間)
  6. 完全なビルドを用意する

それができない場合、ビルド プロセスはまだ十分ではありません。

それを達成できないと思われる場合は、そのリストに加えて、チューリング完全マシンでは実行できないアクションを詳細に説明してください。

通常、そのようなポイントはありません。ツール/ノウハウ/動機が欠けているだけです。個人的には、できない理由を説明するよりも、これを行う方が簡単であることがわかりました。

幸運を。

于 2009-01-28T16:27:18.193 に答える