16

GitHub、Gerrit、Hudson(Jenkins) を一緒に使い始めたばかりです。そして、ワークフローについていくつかの考えが必要です。

GitHub をメインのリモート リポジトリとして使用したいと考えています。主にコード レビューに Gerrit を使用したいと考えていますが、Hudson でのビルド トリガーにも使用したいと考えています。

ただし、現時点では、このワークフローについて考えるのに苦労しているので、他の人が自分で何をしたかを聞きたいと思っています. 考え?

4

2 に答える 2

26

githubgerritjenkins(hudsonの後継を使用しています。バグ追跡のためにredmineと結び付けます。

gerritの前は、主要な開発リポジトリとしてgithubを使用しており、開発者はコミットアクセス権を持っていました。gerritが実行されたので、githubは公開リポジトリとしてのみ使用され、gerritユーザーのみがgithubにプッシュするためのアクセス権を持ちます。

ワークフロー:

  1. 開発者はgithubからソースをチェックアウトします。
  2. 開発者が変更を加えます。
  3. 開発者はgerritにプッシュします。
  4. gerritは、統合テストのために変更通知をjenkinsに送信します。
    • jenkinsは、変更をgerritgitサーバーから直接プルします。
    • パスで、jenkinsはgerritレビューに+1を追加し、他の開発者にレビューを渡します。
    • 失敗すると、jenkinsはgerritレビューに-1を追加します
    • 合格/不合格ステータスがRedmineにプッシュされました
  5. 他の開発者が変更を確認し、承認します(+2)
  6. gerritは変更をgithubリポジトリにコミットします。
    • githubフックはredmineに更新を通知します。
    • redmineはgithubから変更をプルし、コミットメッセージを解析してチケット情報を取得します。
  7. 開発者は変更をgithubからフェッチします...2に戻します。[編集]:gerritから直接プルするように切り替えました。Githubは、生産ソースをプルするためのミラーとして残っています。

不足している部分:

  1. gerritレビューをバグ追跡と結び付けるためのピース。
于 2011-09-30T22:03:44.380 に答える
5

私は Gerrit を直接使用したことはありませんが、次の間の中間および特殊なリポジトリのアイデアが気に入っています。

  • 開発者のリポジトリ
  • 中央の GitHub リモート リポジトリ

そのため、リモート GitHub リポジトリで何を公開するかを決定する必要があります。

  • レビューするコード (つまり、ローカルの Gerrit webapp が GitHub コードをプルして調べます)
  • レビュー済みのコード (最初にコミットを Gerrit に公開し、コード レビュー後に GitHub にプッシュすることを意味します)

2 番目のワークフローは、 Google Android Projects が Gerrit で従うものに近いものです。

どちらの場合も、Gerrit が調べるための中間ローカル リポジトリが必要です。

于 2010-09-16T06:26:12.037 に答える