4

リポジトリ、特に Github でプッシュ操作がいつ実行されたかを表示することはできますか?

さまざまなイベントで製品を自動的にビルドするビルド環境 (Jenkins) があります。

  • ユーザーが Github で新しいコミットをプッシュしたとき
  • 毎晩
  • ユーザーの要求に応じて

これらのパッケージをビルドするために使用された正確なコミットを特定できるようにしたいと思います (ビルドは最終的に Jenkins で自動的に削除されるため、Jenkins ビルドに依存することはできません)。

ほとんどの場合、私は git で調べることができますが、開発者が変更を加えてローカルにコミットしたものの、それらを github にプッシュしていない場合もあります。後で変更をプッシュすると、パッケージのビルドにどのソース コードが使用されたかを知ることができなくなります。

4

3 に答える 3

1

うーん、最も簡単な方法はジェンキンスで作ることだと思います。

Jenkins にはさまざまな通知方法を設定できます。すべてのコミットを見ることができます。XMPP 拡張機能と一緒に使用すると、非常に便利です。しかし、これにはジェンキンスを実行する必要があります。

それ以外の場合は、何かがリポジトリにプッシュされたときに電子メールを送信するフックを作成する必要があります。

http://git-scm.com/book/en/Customizing-Git-Git-Hooks

電子メール ワークフロー フックのセクションがあります。

于 2013-04-24T19:17:00.080 に答える
1

実際、Jenkins Git プラグインは、ビルド スクリプト内で使用できる次の環境変数を自動的に設定することがわかりました。

GIT_COMMIT - SHA of the current
GIT_BRANCH - Name of the branch currently being used, e.g. "master" or "origin/foo"
GIT_PREVIOUS_COMMIT - SHA of the previous built commit from the same branch (the current SHA on first build in branch)
GIT_URL - Repository remote URL
GIT_URL_N - Repository remote URLs when there are more than 1 remotes, e.g. GIT_URL_1, GIT_URL_2
GIT_AUTHOR_EMAIL - Committer/Author Email
GIT_COMMITTER_EMAIL - Committer/Author Email

環境変数を参照するだけGIT_COMMITで、コンパイルおよびパッケージ化されたコードを突き止めることができました。

于 2014-08-15T10:12:55.680 に答える
0

Github の Repo Hooks APIを使用してプッシュを追跡できるようですが、私はそれらを使用していません。

github 以外の git リポジトリの場合:

むき出しでない場合は.git/logs/refs/heads/<branch name>、ブランチがいつ更新されたかを記録しgit pushます。(注: ファイルは場合によっては削除されます。)

彼らはreflogを維持していないので、ベアレポでこれを直接チェックする方法がわかりません。git hooksこれを追跡する必要がある場合は、見てみたいと思います。

于 2013-04-24T19:23:13.283 に答える