是否可以查看何时在存储库上执行了推送操作,特别是在Github上?
我们有一个构建环境(Jenkins),它在各种事件上自动构建我们的产品:
我希望能够确定使用了哪个确切的提交来构建这些包(在Jenkins中,构建最终会自动删除,所以我不能‘依赖Jenkins构建’),因为我知道构建的日期和时间。
虽然大多数情况下,我只需要在git中查找,有时,开发人员已经在本地进行了更改,但并没有在github上推动这些更改。后来,当他推动更改时,就不可能知道用于构建包的是什么源代码。
发布于 2014-08-15 10:12:55
实际上,我发现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环境变量就足以跟踪编译和打包的代码。
发布于 2013-04-24 19:17:00
嗯,我想最简单的方法就是和詹金斯一起。
您可以为Jenkins设置不同的通知方法。我们可以看到每一次承诺。我们将它与XMPP扩展一起使用,它非常有用。但为了这个你得去查詹金斯。
否则,您必须构建一个钩子,当有东西推送到您的存储库时,它会发送电子邮件给您。
http://git-scm.com/book/en/Customizing-Git-Git-Hooks
有一个关于电子邮件工作流钩子的章节.
发布于 2013-04-24 19:23:13
似乎可以使用Github的Repo Hooks API跟踪推送,虽然我还没有使用它们。
对于非github git回购:
如果它不是裸的,.git/logs/refs/heads/<branch name>记录一个分支何时更新,可能是通过git push更新的。(注:在某些情况下,文件会被修剪。))
不知道如何在裸回购中直接检查这一点,因为它们不维护reflogs。如果我必须跟踪这件事的话,我会看看git hooks。
https://stackoverflow.com/questions/16200252
复制相似问题