~bzr-pqm/bzr/bzr.dev

4634.99.1 by Naoki INADA
import doc-ja rev90
1
ゲートキーパーを利用する
2
=========================
3
4
分散型の人間のゲートキーパーのワークフロー
5
-------------------------------------------
6
7
このワークフローでは、1人の開発者(ゲートキーパー) がメインブランチへの\
8
コミット権限を持つ一方で他の開発者はリードオンリーの権限のみを持ちます。
9
すべての開発者はタスクブランチの中で変更を行います。
10
11
.. image:: images/workflows_gatekeeper.png
12
13
開発者は彼らの作業内容をマージしたいとき、ゲートキーパーに彼らの変更を\
14
レビューして受け入れ可能であればマージするよう頼みます。
15
変更がレビューを失敗するとき、準備ができるまで関連のタスクブランチで\
16
さらなる開発が進みます。
17
18
このアプローチの主要な面は含まれる制御の反転です:
19
開発者は変更を中心ブランチに"コミット/プッシュ"するときを決めなくて済みます:
20
コードベースはゲートキーパーの "マージ/プル" による統制された変更方法によって発展します。
21
複数の中心ブランチとそれぞれ異なるゲートキーパーをを持つことはとてもよい方法で、
22
よく採用されている方法です。。
23
たとえば、現在の製品リリースと次のリリースのためにそれぞれ1つづつのブランチがあります。
24
この場合、たいがいはバグ修正を保持するタスクブランチは両方のゲートキーパーによって\
25
通知されます。
26
27
このワークフローのすばらしい点の一つはスケーラブルであることです。
28
大きなプロジェクトはチームになりそれぞれのチームはゲートキーパーによって管理される
29
*ローカルマスターブランチ* を持つことができます。
30
チームリーダーがリクエストするときにチームのマスターブランチからの変更を\
31
プライマリマスターブランチにマージするために誰かを主席ゲートキーパーに任命できます。
32
33
分散型の自動ゲートキーパーのワークフロー
34
-----------------------------------------
35
36
より高い品質を得るために、すべての開発者は変更を回帰テストスイートが通ったら\
37
変更のマージとコミットだけを行う自動ゲートキーパーに投稿できることが求められます。
38
このようなゲートキーパーの1つはPQMと呼ばれるソフトウェアツールです。
39
40
.. image:: images/workflows_pqm.png
41
42
PQMに関する詳細な情報に関しては、 https://launchpad.net/pqm を参照してください。