3

我慢してください....

(編集...)

╔════════════╦═══════════════════╦══════╗
║ repo name  ║       role        ║ user ║
╠════════════╬═══════════════════╬══════╣
║ RepoMain   ║ production        ║ Mr.A ║
║ RepoTest   ║ test server       ║ QA   ║
║ RepoB_vm   ║ Mr.B's vm         ║ Mr.B ║
║ RepoB_home ║ Mr.B's final repo ║ Mr.B ║
║ RepoC_vm   ║ Mr.C's vm         ║ Mr.C ║
║ RepoC_home ║ Mr.C's final repo ║ Mr.C ║
╚════════════╩═══════════════════╩══════╝

A 氏は他の人と共同作業をしているので、自分のリポジトリを持っていると想像できます (同じプロジェクト)。

私がまだ終わっていないと思うホットな初心者の質問がいくつかあります。

独自の VM (仮想マシン) で動作する基本的なワークフロー

変更をコミットします --> テスト サーバーから Repo_vm にプルします --> vm でテストを実行します --> 成功したら、QA に Repo_home からプルするよう依頼します

これは可能な限り最良のワークフローですか? 私は常にマージの問題を恐れています(新しい変更が失われることもあります..私はそのひどい経験をしました)。実稼働 <--- テストサーバーは一方向なので、大したことはないと思います。それは安全なマージのように聞こえます。

しかし、複数の開発者が同じテスト サーバー リポジトリを使用している場合、これを行うと、Michael Myers に追跡されることになります。

上記のワークフローをより明示的に拡張するには...

  1. vm で変更をコミットする
  2. テストサーバーからプル
  3. VM でテストを実行する
  4. すべてパスしたら、ホーム リポジトリを更新します
  5. QA に repo_home からプルするよう依頼する

プルリクエストを念頭に置いて、これはより良いワークフローですか?

  1. 自分の VM で変更をコミットする
  2. 最新のアルファ版のテスト サーバーから変更をプルする
  3. テストをローカルで実行する
  4. すべてがうまくいけば、自分のアカウントでホームリポジトリにプッシュします
  5. プルリクエストを送信する
  6. キューの先頭にいる場合は、テスト サーバー (サンドボックス環境) でクローン バージョンを作成してから、マージを行います (テスト サーバーには、ホーム リポジトリでコミットされた最後のアルファ バージョンとは異なる最新バージョンがある可能性があります)。
  7. テストに合格したら、マージされたサンドボックス リポジトリから取得するように QA に指示します。
  8. テストを実行する
  9. scheulde で本番環境にプッシュ

Q2: QA に限られた時間を与えるとはどういう意味ですか?

Q3: 開発者はどのくらいの頻度でテスト サーバー (最新の安定したアルファ版を含む) からプルする必要がありますか?

ありがとう。

4

1 に答える 1

3

マージはトリッキーな問題です。Mercurial は自動的に物事をうまく処理しますが、競合を解決することはできません。それは人に任せるのが最善であり、それを行うのに最適な人は、変更を行う開発者です。QAに何もマージさせないでください。競合をマージするには、細部に注意を払う必要があり、軽視すべきではありません。不注意なマージは、どのソフトウェアでも解決できない問題です。

あなたのワークフローは問題ないと思います。 QA はプル リクエストをキューのように扱う必要があります。 開発者がキューの先頭に立つと、プル、マージ、およびテストの機会が与えられます。完了したら、彼は QA に通知し、QA は変更をプルします。他のコードがリポジトリに入っていないため、QA はマージする必要がないことが保証されています。

QA は、プロセスの速度と開発者の変更のサイズに応じて、開発者がマージ、ビルド、およびテストするための限られた時間を与えることもできます。そうすれば、貧弱な開発者が物事を機能させるのに苦労している間に膨大な数の変更が山積みになることはありません。

于 2012-06-07T22:41:57.007 に答える